From 9a8fdb97a9adb0c207b7e4f8a553906632b77355 Mon Sep 17 00:00:00 2001 From: awssdkgo Date: Fri, 11 Dec 2020 19:08:04 +0000 Subject: [PATCH] Release v1.36.7 (2020-12-11) === ### Service Client Updates * `service/autoscaling`: Updates service API and documentation * Documentation updates and corrections for Amazon EC2 Auto Scaling API Reference and SDKs. * `service/cloudtrail`: Updates service API and documentation * CloudTrailInvalidClientTokenIdException is now thrown when a call results in the InvalidClientTokenId error code. The Name parameter of the AdvancedEventSelector data type is now optional. * `service/guardduty`: Updates service documentation * Documentation updates for GuardDuty * `service/iotsitewise`: Updates service API, documentation, and paginators * `service/monitoring`: Updates service documentation * Documentation updates for monitoring * `service/pi`: Updates service documentation --- CHANGELOG.md | 15 + aws/version.go | 2 +- models/apis/autoscaling/2011-01-01/api-2.json | 101 +- .../apis/autoscaling/2011-01-01/docs-2.json | 96 +- models/apis/cloudtrail/2013-11-01/api-2.json | 21 +- models/apis/cloudtrail/2013-11-01/docs-2.json | 43 +- models/apis/guardduty/2017-11-28/docs-2.json | 86 +- models/apis/iotsitewise/2019-12-02/api-2.json | 231 +++- .../apis/iotsitewise/2019-12-02/docs-2.json | 167 ++- .../iotsitewise/2019-12-02/paginators-1.json | 6 + models/apis/monitoring/2010-08-01/docs-2.json | 12 +- models/apis/pi/2018-02-27/docs-2.json | 40 +- service/autoscaling/api.go | 14 +- service/cloudtrail/api.go | 245 +++- service/cloudtrail/errors.go | 24 +- service/cloudwatch/api.go | 43 +- service/guardduty/api.go | 110 +- service/iotsitewise/api.go | 1138 +++++++++++++---- service/iotsitewise/errors.go | 7 + .../iotsitewise/iotsitewiseiface/interface.go | 11 +- service/pi/api.go | 141 +- service/pi/doc.go | 39 +- 22 files changed, 1896 insertions(+), 696 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ccb332ade..7d19446acf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.36.7 (2020-12-11) +=== + +### Service Client Updates +* `service/autoscaling`: Updates service API and documentation + * Documentation updates and corrections for Amazon EC2 Auto Scaling API Reference and SDKs. +* `service/cloudtrail`: Updates service API and documentation + * CloudTrailInvalidClientTokenIdException is now thrown when a call results in the InvalidClientTokenId error code. The Name parameter of the AdvancedEventSelector data type is now optional. +* `service/guardduty`: Updates service documentation + * Documentation updates for GuardDuty +* `service/iotsitewise`: Updates service API, documentation, and paginators +* `service/monitoring`: Updates service documentation + * Documentation updates for monitoring +* `service/pi`: Updates service documentation + Release v1.36.6 (2020-12-10) === diff --git a/aws/version.go b/aws/version.go index d844bd427a..ecd440191b 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.36.6" +const SDKVersion = "1.36.7" diff --git a/models/apis/autoscaling/2011-01-01/api-2.json b/models/apis/autoscaling/2011-01-01/api-2.json index de59ebbf15..5f594cd58a 100644 --- a/models/apis/autoscaling/2011-01-01/api-2.json +++ b/models/apis/autoscaling/2011-01-01/api-2.json @@ -929,7 +929,7 @@ "required":["AutoScalingGroupName"], "members":{ "InstanceIds":{"shape":"InstanceIds"}, - "AutoScalingGroupName":{"shape":"ResourceName"} + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"} } }, "AttachLoadBalancerTargetGroupsResultType":{ @@ -944,7 +944,7 @@ "TargetGroupARNs" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "TargetGroupARNs":{"shape":"TargetGroupARNs"} } }, @@ -960,7 +960,7 @@ "LoadBalancerNames" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "LoadBalancerNames":{"shape":"LoadBalancerNames"} } }, @@ -1011,7 +1011,7 @@ "AutoScalingGroupMinSize":{"type":"integer"}, "AutoScalingGroupNames":{ "type":"list", - "member":{"shape":"ResourceName"} + "member":{"shape":"XmlStringMaxLen255"} }, "AutoScalingGroupNamesType":{ "type":"structure", @@ -1073,8 +1073,7 @@ }, "AvailabilityZones":{ "type":"list", - "member":{"shape":"XmlStringMaxLen255"}, - "min":1 + "member":{"shape":"XmlStringMaxLen255"} }, "BatchDeleteScheduledActionAnswer":{ "type":"structure", @@ -1089,7 +1088,7 @@ "ScheduledActionNames" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ScheduledActionNames":{"shape":"ScheduledActionNames"} } }, @@ -1106,7 +1105,7 @@ "ScheduledUpdateGroupActions" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ScheduledUpdateGroupActions":{"shape":"ScheduledUpdateGroupActionRequests"} } }, @@ -1189,7 +1188,7 @@ ], "members":{ "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, - "LaunchConfigurationName":{"shape":"ResourceName"}, + "LaunchConfigurationName":{"shape":"XmlStringMaxLen255"}, "LaunchTemplate":{"shape":"LaunchTemplateSpecification"}, "MixedInstancesPolicy":{"shape":"MixedInstancesPolicy"}, "InstanceId":{"shape":"XmlStringMaxLen19"}, @@ -1264,7 +1263,7 @@ "type":"structure", "required":["AutoScalingGroupName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ForceDelete":{"shape":"ForceDelete"} } }, @@ -1281,7 +1280,7 @@ ], "members":{ "LifecycleHookName":{"shape":"AsciiStringMaxLen255"}, - "AutoScalingGroupName":{"shape":"ResourceName"} + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"} } }, "DeleteNotificationConfigurationType":{ @@ -1291,15 +1290,15 @@ "TopicARN" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, - "TopicARN":{"shape":"ResourceName"} + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, + "TopicARN":{"shape":"XmlStringMaxLen255"} } }, "DeletePolicyType":{ "type":"structure", "required":["PolicyName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "PolicyName":{"shape":"ResourceName"} } }, @@ -1310,8 +1309,8 @@ "ScheduledActionName" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, - "ScheduledActionName":{"shape":"ResourceName"} + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, + "ScheduledActionName":{"shape":"XmlStringMaxLen255"} } }, "DeleteTagsType":{ @@ -1383,7 +1382,7 @@ "type":"structure", "required":["AutoScalingGroupName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "LifecycleHookNames":{"shape":"LifecycleHookNames"} } }, @@ -1391,7 +1390,7 @@ "type":"structure", "required":["AutoScalingGroupName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "NextToken":{"shape":"XmlString"}, "MaxRecords":{"shape":"MaxRecords"} } @@ -1407,7 +1406,7 @@ "type":"structure", "required":["AutoScalingGroupName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "NextToken":{"shape":"XmlString"}, "MaxRecords":{"shape":"MaxRecords"} } @@ -1445,7 +1444,7 @@ "DescribePoliciesType":{ "type":"structure", "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "PolicyNames":{"shape":"PolicyNames"}, "PolicyTypes":{"shape":"PolicyTypes"}, "NextToken":{"shape":"XmlString"}, @@ -1456,7 +1455,7 @@ "type":"structure", "members":{ "ActivityIds":{"shape":"ActivityIds"}, - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "MaxRecords":{"shape":"MaxRecords"}, "NextToken":{"shape":"XmlString"} } @@ -1464,7 +1463,7 @@ "DescribeScheduledActionsType":{ "type":"structure", "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ScheduledActionNames":{"shape":"ScheduledActionNames"}, "StartTime":{"shape":"TimestampType"}, "EndTime":{"shape":"TimestampType"}, @@ -1500,7 +1499,7 @@ ], "members":{ "InstanceIds":{"shape":"InstanceIds"}, - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ShouldDecrementDesiredCapacity":{"shape":"ShouldDecrementDesiredCapacity"} } }, @@ -1516,7 +1515,7 @@ "TargetGroupARNs" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "TargetGroupARNs":{"shape":"TargetGroupARNs"} } }, @@ -1532,7 +1531,7 @@ "LoadBalancerNames" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "LoadBalancerNames":{"shape":"LoadBalancerNames"} } }, @@ -1540,7 +1539,7 @@ "type":"structure", "required":["AutoScalingGroupName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "Metrics":{"shape":"Metrics"} } }, @@ -1564,7 +1563,7 @@ "Granularity" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "Metrics":{"shape":"Metrics"}, "Granularity":{"shape":"XmlStringMaxLen255"} } @@ -1594,7 +1593,7 @@ ], "members":{ "InstanceIds":{"shape":"InstanceIds"}, - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ShouldDecrementDesiredCapacity":{"shape":"ShouldDecrementDesiredCapacity"} } }, @@ -1603,7 +1602,7 @@ "type":"structure", "required":["PolicyName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "PolicyName":{"shape":"ResourceName"}, "HonorCooldown":{"shape":"HonorCooldown"}, "MetricValue":{"shape":"MetricScale"}, @@ -1621,7 +1620,7 @@ "required":["AutoScalingGroupName"], "members":{ "InstanceIds":{"shape":"InstanceIds"}, - "AutoScalingGroupName":{"shape":"ResourceName"} + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"} } }, "FailedScheduledUpdateGroupActionRequest":{ @@ -1827,12 +1826,12 @@ "type":"structure", "required":["LaunchConfigurationName"], "members":{ - "LaunchConfigurationName":{"shape":"ResourceName"} + "LaunchConfigurationName":{"shape":"XmlStringMaxLen255"} } }, "LaunchConfigurationNames":{ "type":"list", - "member":{"shape":"ResourceName"} + "member":{"shape":"XmlStringMaxLen255"} }, "LaunchConfigurationNamesType":{ "type":"structure", @@ -1893,10 +1892,10 @@ "type":"structure", "members":{ "LifecycleHookName":{"shape":"AsciiStringMaxLen255"}, - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "LifecycleTransition":{"shape":"LifecycleTransition"}, - "NotificationTargetARN":{"shape":"ResourceName"}, - "RoleARN":{"shape":"ResourceName"}, + "NotificationTargetARN":{"shape":"NotificationTargetResourceName"}, + "RoleARN":{"shape":"XmlStringMaxLen255"}, "NotificationMetadata":{"shape":"XmlStringMaxLen1023"}, "HeartbeatTimeout":{"shape":"HeartbeatTimeout"}, "GlobalTimeout":{"shape":"GlobalTimeout"}, @@ -1921,7 +1920,7 @@ "HeartbeatTimeout":{"shape":"HeartbeatTimeout"}, "DefaultResult":{"shape":"LifecycleActionResult"}, "NotificationTargetARN":{"shape":"NotificationTargetResourceName"}, - "RoleARN":{"shape":"ResourceName"} + "RoleARN":{"shape":"XmlStringMaxLen255"} } }, "LifecycleHookSpecifications":{ @@ -2079,8 +2078,8 @@ "NotificationConfiguration":{ "type":"structure", "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, - "TopicARN":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, + "TopicARN":{"shape":"XmlStringMaxLen255"}, "NotificationType":{"shape":"XmlStringMaxLen255"} } }, @@ -2090,7 +2089,7 @@ }, "NotificationTargetResourceName":{ "type":"string", - "max":1600, + "max":255, "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, @@ -2170,9 +2169,9 @@ ], "members":{ "LifecycleHookName":{"shape":"AsciiStringMaxLen255"}, - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "LifecycleTransition":{"shape":"LifecycleTransition"}, - "RoleARN":{"shape":"ResourceName"}, + "RoleARN":{"shape":"XmlStringMaxLen255"}, "NotificationTargetARN":{"shape":"NotificationTargetResourceName"}, "NotificationMetadata":{"shape":"XmlStringMaxLen1023"}, "HeartbeatTimeout":{"shape":"HeartbeatTimeout"}, @@ -2187,8 +2186,8 @@ "NotificationTypes" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, - "TopicARN":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, + "TopicARN":{"shape":"XmlStringMaxLen255"}, "NotificationTypes":{"shape":"AutoScalingNotificationTypes"} } }, @@ -2199,7 +2198,7 @@ "PolicyName" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "PolicyName":{"shape":"XmlStringMaxLen255"}, "PolicyType":{"shape":"XmlStringMaxLen64"}, "AdjustmentType":{"shape":"XmlStringMaxLen255"}, @@ -2221,7 +2220,7 @@ "ScheduledActionName" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ScheduledActionName":{"shape":"XmlStringMaxLen255"}, "Time":{"shape":"TimestampType"}, "StartTime":{"shape":"TimestampType"}, @@ -2353,13 +2352,13 @@ "type":"structure", "required":["AutoScalingGroupName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ScalingProcesses":{"shape":"ProcessNames"} } }, "ScheduledActionNames":{ "type":"list", - "member":{"shape":"ResourceName"} + "member":{"shape":"XmlStringMaxLen255"} }, "ScheduledActionsType":{ "type":"structure", @@ -2427,7 +2426,7 @@ "DesiredCapacity" ], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "DesiredCapacity":{"shape":"AutoScalingGroupDesiredCapacity"}, "HonorCooldown":{"shape":"HonorCooldown"} } @@ -2458,7 +2457,7 @@ ], "members":{ "InstanceIds":{"shape":"InstanceIds"}, - "AutoScalingGroupName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, "ProtectedFromScaleIn":{"shape":"ProtectedFromScaleIn"} } }, @@ -2591,8 +2590,8 @@ "type":"structure", "required":["AutoScalingGroupName"], "members":{ - "AutoScalingGroupName":{"shape":"ResourceName"}, - "LaunchConfigurationName":{"shape":"ResourceName"}, + "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"}, + "LaunchConfigurationName":{"shape":"XmlStringMaxLen255"}, "LaunchTemplate":{"shape":"LaunchTemplateSpecification"}, "MixedInstancesPolicy":{"shape":"MixedInstancesPolicy"}, "MinSize":{"shape":"AutoScalingGroupMinSize"}, diff --git a/models/apis/autoscaling/2011-01-01/docs-2.json b/models/apis/autoscaling/2011-01-01/docs-2.json index 795565ed1a..bce617010a 100644 --- a/models/apis/autoscaling/2011-01-01/docs-2.json +++ b/models/apis/autoscaling/2011-01-01/docs-2.json @@ -1165,6 +1165,7 @@ "NotificationTargetResourceName": { "base": null, "refs": { + "LifecycleHook$NotificationTargetARN": "

The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

", "LifecycleHookSpecification$NotificationTargetARN": "

The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

", "PutLifecycleHookType$NotificationTargetARN": "

The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic.

If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" } @@ -1344,66 +1345,18 @@ "base": null, "refs": { "Alarm$AlarmARN": "

The Amazon Resource Name (ARN) of the alarm.

", - "AttachInstancesQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "AttachLoadBalancerTargetGroupsType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "AttachLoadBalancersType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "AutoScalingGroup$AutoScalingGroupARN": "

The Amazon Resource Name (ARN) of the Auto Scaling group.

", "AutoScalingGroup$ServiceLinkedRoleARN": "

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

", - "AutoScalingGroupNames$member": null, - "BatchDeleteScheduledActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "BatchPutScheduledUpdateGroupActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "CompleteLifecycleActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "CreateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

", "CreateAutoScalingGroupType$ServiceLinkedRoleARN": "

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more information, see Service-linked roles in the Amazon EC2 Auto Scaling User Guide.

", - "DeleteAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DeleteLifecycleHookType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DeleteNotificationConfigurationType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DeleteNotificationConfigurationType$TopicARN": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

", - "DeletePolicyType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "DeletePolicyType$PolicyName": "

The name or Amazon Resource Name (ARN) of the policy.

", - "DeleteScheduledActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DeleteScheduledActionType$ScheduledActionName": "

The name of the action to delete.

", - "DescribeLifecycleHooksType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DescribeLoadBalancerTargetGroupsRequest$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DescribeLoadBalancersRequest$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DescribePoliciesType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DescribeScalingActivitiesType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DescribeScheduledActionsType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DetachInstancesQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DetachLoadBalancerTargetGroupsType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DetachLoadBalancersType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "DisableMetricsCollectionQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "EnableMetricsCollectionQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "EnterStandbyQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "ExecutePolicyType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "ExecutePolicyType$PolicyName": "

The name or ARN of the policy.

", - "ExitStandbyQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "LaunchConfiguration$LaunchConfigurationARN": "

The Amazon Resource Name (ARN) of the launch configuration.

", - "LaunchConfigurationNameType$LaunchConfigurationName": "

The name of the launch configuration.

", - "LaunchConfigurationNames$member": null, - "LifecycleHook$AutoScalingGroupName": "

The name of the Auto Scaling group for the lifecycle hook.

", - "LifecycleHook$NotificationTargetARN": "

The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

", - "LifecycleHook$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

", - "LifecycleHookSpecification$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

", - "NotificationConfiguration$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "NotificationConfiguration$TopicARN": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

", "PolicyARNType$PolicyARN": "

The Amazon Resource Name (ARN) of the policy.

", "PolicyNames$member": null, - "PutLifecycleHookType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "PutLifecycleHookType$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

Required for new lifecycle hooks, but optional when updating existing hooks.

", - "PutNotificationConfigurationType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "PutNotificationConfigurationType$TopicARN": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

", - "PutScalingPolicyType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "PutScheduledUpdateGroupActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "RecordLifecycleActionHeartbeatType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "ScalingPolicy$PolicyARN": "

The Amazon Resource Name (ARN) of the policy.

", - "ScalingProcessQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "ScheduledActionNames$member": null, "ScheduledUpdateGroupAction$ScheduledActionARN": "

The Amazon Resource Name (ARN) of the scheduled action.

", - "SetDesiredCapacityType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "SetInstanceProtectionQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "UpdateAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "UpdateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration. If you specify LaunchConfigurationName in your update request, you can't specify LaunchTemplate or MixedInstancesPolicy.

", "UpdateAutoScalingGroupType$ServiceLinkedRoleARN": "

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. For more information, see Service-linked roles in the Amazon EC2 Auto Scaling User Guide.

" } }, @@ -1771,22 +1724,29 @@ "AdjustmentType$AdjustmentType": "

The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

", "Alarm$AlarmName": "

The name of the alarm.

", "AlreadyExistsFault$message": "

", + "AttachInstancesQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "AttachLoadBalancerTargetGroupsType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "AttachLoadBalancersType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "AutoScalingGroup$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "AutoScalingGroup$LaunchConfigurationName": "

The name of the associated launch configuration.

", "AutoScalingGroup$PlacementGroup": "

The name of the placement group into which to launch your instances, if any.

", "AutoScalingGroup$Status": "

The current state of the group when the DeleteAutoScalingGroup operation is in progress.

", + "AutoScalingGroupNames$member": null, "AutoScalingInstanceDetails$InstanceType": "

The instance type of the EC2 instance.

", "AutoScalingInstanceDetails$AutoScalingGroupName": "

The name of the Auto Scaling group for the instance.

", "AutoScalingInstanceDetails$AvailabilityZone": "

The Availability Zone for the instance.

", "AutoScalingInstanceDetails$LaunchConfigurationName": "

The launch configuration used to launch the instance. This value is not available if you attached the instance to the Auto Scaling group.

", "AutoScalingNotificationTypes$member": null, "AvailabilityZones$member": null, + "BatchDeleteScheduledActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "BatchPutScheduledUpdateGroupActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "BlockDeviceMapping$VirtualName": "

The name of the virtual device (for example, ephemeral0).

You can specify either VirtualName or Ebs, but not both.

", "BlockDeviceMapping$DeviceName": "

The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). For more information, see Device Naming on Linux Instances in the Amazon EC2 User Guide for Linux Instances.

", "CancelInstanceRefreshAnswer$InstanceRefreshId": "

The instance refresh ID.

", "CancelInstanceRefreshType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "ClassicLinkVPCSecurityGroups$member": null, "CreateAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group. This name must be unique per Region per account.

", + "CreateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

", "CreateAutoScalingGroupType$PlacementGroup": "

The name of an existing placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

", "CreateLaunchConfigurationType$LaunchConfigurationName": "

The name of the launch configuration. This name must be unique per Region per account.

", "CreateLaunchConfigurationType$ImageId": "

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Finding an AMI in the Amazon EC2 User Guide for Linux Instances.

If you do not specify InstanceId, you must specify ImageId.

", @@ -1795,11 +1755,32 @@ "CreateLaunchConfigurationType$InstanceType": "

Specifies the instance type of the EC2 instance.

For information about available instance types, see Available Instance Types in the Amazon EC2 User Guide for Linux Instances.

If you do not specify InstanceId, you must specify InstanceType.

", "CreateLaunchConfigurationType$KernelId": "

The ID of the kernel associated with the AMI.

", "CreateLaunchConfigurationType$RamdiskId": "

The ID of the RAM disk to select.

", + "DeleteAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DeleteLifecycleHookType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DeleteNotificationConfigurationType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DeleteNotificationConfigurationType$TopicARN": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

", + "DeletePolicyType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DeleteScheduledActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DeleteScheduledActionType$ScheduledActionName": "

The name of the action to delete.

", "DescribeInstanceRefreshesType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DescribeLifecycleHooksType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DescribeLoadBalancerTargetGroupsRequest$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DescribeLoadBalancersRequest$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DescribePoliciesType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DescribeScalingActivitiesType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DescribeScheduledActionsType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DetachInstancesQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DetachLoadBalancerTargetGroupsType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DetachLoadBalancersType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "DisableMetricsCollectionQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "Ebs$SnapshotId": "

The snapshot ID of the volume to use.

You must specify either a VolumeSize or a SnapshotId.

", + "EnableMetricsCollectionQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "EnableMetricsCollectionQuery$Granularity": "

The granularity to associate with the metrics to collect. The only valid value is 1Minute.

", "EnabledMetric$Metric": "

One of the following metrics:

", "EnabledMetric$Granularity": "

The granularity of the metric. The only valid value is 1Minute.

", + "EnterStandbyQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "ExecutePolicyType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "ExitStandbyQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "FailedScheduledUpdateGroupActionRequest$ScheduledActionName": "

The name of the scheduled action.

", "Instance$InstanceType": "

The instance type of the EC2 instance.

", "Instance$AvailabilityZone": "

The Availability Zone in which the instance is running.

", @@ -1816,9 +1797,14 @@ "LaunchConfiguration$InstanceType": "

The instance type for the instances.

For information about available instance types, see Available Instance Types in the Amazon EC2 User Guide for Linux Instances.

", "LaunchConfiguration$KernelId": "

The ID of the kernel associated with the AMI.

", "LaunchConfiguration$RamdiskId": "

The ID of the RAM disk associated with the AMI.

", + "LaunchConfigurationNameType$LaunchConfigurationName": "

The name of the launch configuration.

", + "LaunchConfigurationNames$member": null, "LaunchTemplateOverrides$InstanceType": "

The instance type, such as m3.xlarge. You must use an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

", "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

", "LaunchTemplateSpecification$Version": "

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

", + "LifecycleHook$AutoScalingGroupName": "

The name of the Auto Scaling group for the lifecycle hook.

", + "LifecycleHook$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

", + "LifecycleHookSpecification$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

", "LimitExceededFault$message": "

", "LoadBalancerNames$member": null, "LoadBalancerState$LoadBalancerName": "

The name of the load balancer.

", @@ -1827,11 +1813,19 @@ "MetricCollectionType$Metric": "

One of the following metrics:

", "MetricGranularityType$Granularity": "

The granularity. The only valid value is 1Minute.

", "Metrics$member": null, + "NotificationConfiguration$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "NotificationConfiguration$TopicARN": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

", "NotificationConfiguration$NotificationType": "

One of the following event notification types:

", "ProcessNames$member": null, "ProcessType$ProcessName": "

One of the following processes:

", + "PutLifecycleHookType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "PutLifecycleHookType$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

Required for new lifecycle hooks, but optional when updating existing hooks.

", + "PutNotificationConfigurationType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "PutNotificationConfigurationType$TopicARN": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

", + "PutScalingPolicyType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "PutScalingPolicyType$PolicyName": "

The name of the policy.

", "PutScalingPolicyType$AdjustmentType": "

Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

Required if the policy type is StepScaling or SimpleScaling. For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide.

", + "PutScheduledUpdateGroupActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "PutScheduledUpdateGroupActionType$ScheduledActionName": "

The name of this scaling action.

", "PutScheduledUpdateGroupActionType$Recurrence": "

The recurring schedule for this action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, \"30 0 1 1,6,12 *\"). For more information about this format, see Crontab.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

", "ResourceContentionFault$message": "

", @@ -1840,16 +1834,22 @@ "ScalingPolicy$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "ScalingPolicy$PolicyName": "

The name of the scaling policy.

", "ScalingPolicy$AdjustmentType": "

Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

", + "ScalingProcessQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "ScheduledActionNames$member": null, "ScheduledUpdateGroupAction$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "ScheduledUpdateGroupAction$ScheduledActionName": "

The name of the scheduled action.

", "ScheduledUpdateGroupAction$Recurrence": "

The recurring schedule for the action, in Unix cron syntax format.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

", "ScheduledUpdateGroupActionRequest$ScheduledActionName": "

The name of the scaling action.

", "ScheduledUpdateGroupActionRequest$Recurrence": "

The recurring schedule for the action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, \"30 0 1 1,6,12 *\"). For more information about this format, see Crontab.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

", "ServiceLinkedRoleFailure$message": null, + "SetDesiredCapacityType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "SetInstanceProtectionQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "StartInstanceRefreshAnswer$InstanceRefreshId": "

A unique ID for tracking the progress of the request.

", "StartInstanceRefreshType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "SuspendedProcess$ProcessName": "

The name of the suspended process.

", "SuspendedProcess$SuspensionReason": "

The reason that the process was suspended.

", + "UpdateAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", + "UpdateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration. If you specify LaunchConfigurationName in your update request, you can't specify LaunchTemplate or MixedInstancesPolicy.

", "UpdateAutoScalingGroupType$PlacementGroup": "

The name of an existing placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" } }, diff --git a/models/apis/cloudtrail/2013-11-01/api-2.json b/models/apis/cloudtrail/2013-11-01/api-2.json index 0335ecdba4..adb4af51c7 100644 --- a/models/apis/cloudtrail/2013-11-01/api-2.json +++ b/models/apis/cloudtrail/2013-11-01/api-2.json @@ -69,7 +69,8 @@ {"shape":"InsufficientDependencyServiceAccessPermissionException"}, {"shape":"NotOrganizationMasterAccountException"}, {"shape":"OrganizationsNotInUseException"}, - {"shape":"OrganizationNotInAllFeaturesModeException"} + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"CloudTrailInvalidClientTokenIdException"} ], "idempotent":true }, @@ -374,7 +375,8 @@ {"shape":"InsufficientDependencyServiceAccessPermissionException"}, {"shape":"OrganizationsNotInUseException"}, {"shape":"NotOrganizationMasterAccountException"}, - {"shape":"OrganizationNotInAllFeaturesModeException"} + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"CloudTrailInvalidClientTokenIdException"} ], "idempotent":true } @@ -395,10 +397,7 @@ }, "AdvancedEventSelector":{ "type":"structure", - "required":[ - "Name", - "FieldSelectors" - ], + "required":["FieldSelectors"], "members":{ "Name":{"shape":"SelectorName"}, "FieldSelectors":{"shape":"AdvancedFieldSelectors"} @@ -440,6 +439,12 @@ }, "exception":true }, + "CloudTrailInvalidClientTokenIdException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "CloudWatchLogsDeliveryUnavailableException":{ "type":"structure", "members":{ @@ -1068,8 +1073,8 @@ "SelectorName":{ "type":"string", "max":1000, - "min":1, - "pattern":".+" + "min":0, + "pattern":".*" }, "StartLoggingRequest":{ "type":"structure", diff --git a/models/apis/cloudtrail/2013-11-01/docs-2.json b/models/apis/cloudtrail/2013-11-01/docs-2.json index b8aed4b706..bdcccb8bf2 100644 --- a/models/apis/cloudtrail/2013-11-01/docs-2.json +++ b/models/apis/cloudtrail/2013-11-01/docs-2.json @@ -14,7 +14,7 @@ "ListTags": "

Lists the tags for the trail in the current region.

", "ListTrails": "

Lists trails that are in the current account.

", "LookupEvents": "

Looks up management events or CloudTrail Insights events that are captured by CloudTrail. You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

Lookup supports the following attributes for Insights events:

All attributes are optional. The default number of results returned is 50, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

The rate of lookup requests is limited to two per second, per account, per region. If this limit is exceeded, a throttling error occurs.

", - "PutEventSelectors": "

Configures an event selector for your trail. Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events.

When an event occurs in your account, CloudTrail evaluates the event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

Example

  1. You create an event selector for a trail and specify that you want write-only events.

  2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

  3. CloudTrail evaluates whether the events match your event selectors.

  4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

  5. The GetConsoleOutput is a read-only event but it doesn't match your event selector. The trail doesn't log the event.

The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

You can configure up to five event selectors for each trail. For more information, see Logging Data and Management Events for Trails and Limits in AWS CloudTrail in the AWS CloudTrail User Guide.

", + "PutEventSelectors": "

Configures an event selector or advanced event selectors for your trail. Use event selectors or advanced event selectors to specify management and data event settings for your trail. By default, trails created without specific event selectors are configured to log all read and write management events, and no data events.

When an event occurs in your account, CloudTrail evaluates the event selectors or advanced event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

Example

  1. You create an event selector for a trail and specify that you want write-only events.

  2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

  3. CloudTrail evaluates whether the events match your event selectors.

  4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

  5. The GetConsoleOutput is a read-only event that doesn't match your event selector. The trail doesn't log the event.

The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException exception is thrown.

You can configure up to five event selectors for each trail. For more information, see Logging data and management events for trails and Quotas in AWS CloudTrail in the AWS CloudTrail User Guide.

You can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use either AdvancedEventSelectors or EventSelectors, but not both. If you apply AdvancedEventSelectors to a trail, any existing EventSelectors are overwritten. For more information about advanced event selectors, see Logging data events for trails in the AWS CloudTrail User Guide.

", "PutInsightSelectors": "

Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of insight types. In this release, only ApiCallRateInsight is supported as an Insights selector.

", "RemoveTags": "

Removes the specified tags from a trail.

", "StartLogging": "

Starts the recording of AWS API calls and log file delivery for a trail. For a trail that is enabled in all regions, this operation must be called from the region in which the trail was created. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions.

", @@ -33,7 +33,7 @@ } }, "AdvancedEventSelector": { - "base": null, + "base": "

Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record fields. They help you control costs by logging only those events that are important to you. For more information about advanced event selectors, see Logging data events for trails in the AWS CloudTrail User Guide.

You cannot apply both event selectors and advanced event selectors to a trail.

", "refs": { "AdvancedEventSelectors$member": null } @@ -41,13 +41,13 @@ "AdvancedEventSelectors": { "base": null, "refs": { - "GetEventSelectorsResponse$AdvancedEventSelectors": null, - "PutEventSelectorsRequest$AdvancedEventSelectors": null, - "PutEventSelectorsResponse$AdvancedEventSelectors": null + "GetEventSelectorsResponse$AdvancedEventSelectors": "

The advanced event selectors that are configured for the trail.

", + "PutEventSelectorsRequest$AdvancedEventSelectors": "

Specifies the settings for advanced event selectors. You can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use either AdvancedEventSelectors or EventSelectors, but not both. If you apply AdvancedEventSelectors to a trail, any existing EventSelectors are overwritten. For more information about advanced event selectors, see Logging data events for trails in the AWS CloudTrail User Guide.

", + "PutEventSelectorsResponse$AdvancedEventSelectors": "

Specifies the advanced event selectors configured for your trail.

" } }, "AdvancedFieldSelector": { - "base": null, + "base": "

A single selector statement in an advanced event selector.

", "refs": { "AdvancedFieldSelectors$member": null } @@ -55,7 +55,7 @@ "AdvancedFieldSelectors": { "base": null, "refs": { - "AdvancedEventSelector$FieldSelectors": null + "AdvancedEventSelector$FieldSelectors": "

Contains all selector statements in an advanced event selector.

" } }, "Boolean": { @@ -104,6 +104,11 @@ "refs": { } }, + "CloudTrailInvalidClientTokenIdException": { + "base": "

This exception is thrown when a call results in the InvalidClientTokenId error code. This can occur when you are creating or updating a trail to send notifications to an Amazon SNS topic that is in a suspended AWS account.

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

Cannot set a CloudWatch Logs delivery for this region.

", "refs": { @@ -120,7 +125,7 @@ } }, "DataResource": { - "base": "

The Amazon S3 buckets or AWS Lambda functions that you specify in your event selectors for your trail to log data events. Data events provide information about the resource operations performed on or within a resource itself. These are also known as data plane operations. You can specify up to 250 data resources for a trail.

The total number of allowed data resources is 250. This number can be distributed between 1 and 5 event selectors, but the total cannot exceed 250 across all selectors.

The following example demonstrates how logging works when you configure logging of all data events for an S3 bucket named bucket-1. In this example, the CloudTrail user specified an empty prefix, and the option to log both Read and Write data events.

  1. A user uploads an image file to bucket-1.

  2. The PutObject API operation is an Amazon S3 object-level API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified an S3 bucket with an empty prefix, events that occur on any object in that bucket are logged. The trail processes and logs the event.

  3. A user uploads an object to an Amazon S3 bucket named arn:aws:s3:::bucket-2.

  4. The PutObject API operation occurred for an object in an S3 bucket that the CloudTrail user didn't specify for the trail. The trail doesn’t log the event.

The following example demonstrates how logging works when you configure logging of AWS Lambda data events for a Lambda function named MyLambdaFunction, but not for all AWS Lambda functions.

  1. A user runs a script that includes a call to the MyLambdaFunction function and the MyOtherLambdaFunction function.

  2. The Invoke API operation on MyLambdaFunction is an AWS Lambda API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified logging data events for MyLambdaFunction, any invocations of that function are logged. The trail processes and logs the event.

  3. The Invoke API operation on MyOtherLambdaFunction is an AWS Lambda API. Because the CloudTrail user did not specify logging data events for all Lambda functions, the Invoke operation for MyOtherLambdaFunction does not match the function specified for the trail. The trail doesn’t log the event.

", + "base": "

The Amazon S3 buckets or AWS Lambda functions that you specify in your event selectors for your trail to log data events. Data events provide information about the resource operations performed on or within a resource itself. These are also known as data plane operations. You can specify up to 250 data resources for a trail.

The total number of allowed data resources is 250. This number can be distributed between 1 and 5 event selectors, but the total cannot exceed 250 across all selectors.

If you are using advanced event selectors, the maximum total number of values for all conditions, across all advanced event selectors for the trail, is 500.

The following example demonstrates how logging works when you configure logging of all data events for an S3 bucket named bucket-1. In this example, the CloudTrail user specified an empty prefix, and the option to log both Read and Write data events.

  1. A user uploads an image file to bucket-1.

  2. The PutObject API operation is an Amazon S3 object-level API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified an S3 bucket with an empty prefix, events that occur on any object in that bucket are logged. The trail processes and logs the event.

  3. A user uploads an object to an Amazon S3 bucket named arn:aws:s3:::bucket-2.

  4. The PutObject API operation occurred for an object in an S3 bucket that the CloudTrail user didn't specify for the trail. The trail doesn’t log the event.

The following example demonstrates how logging works when you configure logging of AWS Lambda data events for a Lambda function named MyLambdaFunction, but not for all AWS Lambda functions.

  1. A user runs a script that includes a call to the MyLambdaFunction function and the MyOtherLambdaFunction function.

  2. The Invoke API operation on MyLambdaFunction is an AWS Lambda API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified logging data events for MyLambdaFunction, any invocations of that function are logged. The trail processes and logs the event.

  3. The Invoke API operation on MyOtherLambdaFunction is an AWS Lambda API. Because the CloudTrail user did not specify logging data events for all Lambda functions, the Invoke operation for MyOtherLambdaFunction does not match the function specified for the trail. The trail doesn’t log the event.

", "refs": { "DataResources$member": null } @@ -188,7 +193,7 @@ } }, "EventSelector": { - "base": "

Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

You can configure up to five event selectors for a trail.

", + "base": "

Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

You can configure up to five event selectors for a trail.

You cannot apply both event selectors and advanced event selectors to a trail.

", "refs": { "EventSelectors$member": null } @@ -197,7 +202,7 @@ "base": null, "refs": { "GetEventSelectorsResponse$EventSelectors": "

The event selectors that are configured for the trail.

", - "PutEventSelectorsRequest$EventSelectors": "

Specifies the settings for your event selectors. You can configure up to five event selectors for a trail.

", + "PutEventSelectorsRequest$EventSelectors": "

Specifies the settings for your event selectors. You can configure up to five event selectors for a trail. You can use either EventSelectors or AdvancedEventSelectors in a PutEventSelectors request, but not both. If you apply EventSelectors to a trail, any existing AdvancedEventSelectors are overwritten.

", "PutEventSelectorsResponse$EventSelectors": "

Specifies the event selectors configured for your trail.

" } }, @@ -314,7 +319,7 @@ } }, "InvalidEventSelectorsException": { - "base": "

This exception is thrown when the PutEventSelectors operation is called with a number of event selectors or data resources that is not valid. The combination of event selectors and data resources is not valid. A trail can have up to 5 event selectors. A trail is limited to 250 data resources. These data resources can be distributed across event selectors, but the overall total cannot exceed 250.

You can:

", + "base": "

This exception is thrown when the PutEventSelectors operation is called with a number of event selectors, advanced event selectors, or data resources that is not valid. The combination of event selectors or advanced event selectors and data resources is not valid. A trail can have up to 5 event selectors. If a trail uses advanced event selectors, a maximum of 500 total values for all conditions in all advanced event selectors is allowed. A trail is limited to 250 data resources. These data resources can be distributed across event selectors, but the overall total cannot exceed 250.

You can:

", "refs": { } }, @@ -492,12 +497,12 @@ "Operator": { "base": null, "refs": { - "AdvancedFieldSelector$Equals": null, - "AdvancedFieldSelector$StartsWith": null, - "AdvancedFieldSelector$EndsWith": null, - "AdvancedFieldSelector$NotEquals": null, - "AdvancedFieldSelector$NotStartsWith": null, - "AdvancedFieldSelector$NotEndsWith": null + "AdvancedFieldSelector$Equals": "

An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.

", + "AdvancedFieldSelector$StartsWith": "

An operator that includes events that match the first few characters of the event record field specified as the value of Field.

", + "AdvancedFieldSelector$EndsWith": "

An operator that includes events that match the last few characters of the event record field specified as the value of Field.

", + "AdvancedFieldSelector$NotEquals": "

An operator that excludes events that match the exact value of the event record field specified as the value of Field.

", + "AdvancedFieldSelector$NotStartsWith": "

An operator that excludes events that match the first few characters of the event record field specified as the value of Field.

", + "AdvancedFieldSelector$NotEndsWith": "

An operator that excludes events that match the last few characters of the event record field specified as the value of Field.

" } }, "OperatorValue": { @@ -612,13 +617,13 @@ "SelectorField": { "base": null, "refs": { - "AdvancedFieldSelector$Field": null + "AdvancedFieldSelector$Field": "

A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.

" } }, "SelectorName": { "base": null, "refs": { - "AdvancedEventSelector$Name": null + "AdvancedEventSelector$Name": "

An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".

" } }, "StartLoggingRequest": { diff --git a/models/apis/guardduty/2017-11-28/docs-2.json b/models/apis/guardduty/2017-11-28/docs-2.json index 06824a26b3..411fbddf44 100644 --- a/models/apis/guardduty/2017-11-28/docs-2.json +++ b/models/apis/guardduty/2017-11-28/docs-2.json @@ -2,28 +2,28 @@ "version": "2.0", "service": "

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC Flow Logs, AWS CloudTrail event logs, and DNS logs. It uses threat intelligence feeds (such as lists of malicious IPs and domains) and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your AWS environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can detect compromised EC2 instances that serve malware or mine bitcoin.

GuardDuty also monitors AWS account access behavior for signs of compromise. Some examples of this are unauthorized infrastructure deployments such as EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength.

GuardDuty informs you of the status of your AWS environment by producing security findings that you can view in the GuardDuty console or through Amazon CloudWatch events. For more information, see the Amazon GuardDuty User Guide .

", "operations": { - "AcceptInvitation": "

Accepts the invitation to be monitored by a master GuardDuty account.

", - "ArchiveFindings": "

Archives GuardDuty findings that are specified by the list of finding IDs.

Only the master account can archive findings. Member accounts don't have permission to archive findings from their accounts.

", + "AcceptInvitation": "

Accepts the invitation to be monitored by a GuardDuty administrator account.

", + "ArchiveFindings": "

Archives GuardDuty findings that are specified by the list of finding IDs.

Only the administrator account can archive findings. Member accounts don't have permission to archive findings from their accounts.

", "CreateDetector": "

Creates a single Amazon GuardDuty detector. A detector is a resource that represents the GuardDuty service. To start using GuardDuty, you must create a detector in each Region where you enable the service. You can have only one detector per account per Region. All data sources are enabled in a new detector by default.

", "CreateFilter": "

Creates a filter using the specified finding criteria.

", - "CreateIPSet": "

Creates a new IPSet, which is called a trusted IP list in the console user interface. An IPSet is a list of IP addresses that are trusted for secure communication with AWS infrastructure and applications. GuardDuty doesn't generate findings for IP addresses that are included in IPSets. Only users from the master account can use this operation.

", - "CreateMembers": "

Creates member accounts of the current AWS account by specifying a list of AWS account IDs. This step is a prerequisite for managing the associated member accounts either by invitation or through an organization.

When using Create Members as an organizations delegated administrator this action will enable GuardDuty in the added member accounts, with the exception of the organization master account, which must enable GuardDuty prior to being added as a member.

If you are adding accounts by invitation use this action after GuardDuty has been enabled in potential member accounts and before using Invite Members .

", + "CreateIPSet": "

Creates a new IPSet, which is called a trusted IP list in the console user interface. An IPSet is a list of IP addresses that are trusted for secure communication with AWS infrastructure and applications. GuardDuty doesn't generate findings for IP addresses that are included in IPSets. Only users from the administrator account can use this operation.

", + "CreateMembers": "

Creates member accounts of the current AWS account by specifying a list of AWS account IDs. This step is a prerequisite for managing the associated member accounts either by invitation or through an organization.

When using Create Members as an organizations delegated administrator this action will enable GuardDuty in the added member accounts, with the exception of the organization delegated administrator account, which must enable GuardDuty prior to being added as a member.

If you are adding accounts by invitation use this action after GuardDuty has been enabled in potential member accounts and before using Invite Members .

", "CreatePublishingDestination": "

Creates a publishing destination to export findings to. The resource to export findings to must exist before you use this operation.

", "CreateSampleFindings": "

Generates example findings of types specified by the list of finding types. If 'NULL' is specified for findingTypes, the API generates example findings of all supported finding types.

", - "CreateThreatIntelSet": "

Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only users of the master account can use this operation.

", + "CreateThreatIntelSet": "

Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only users of the administrator account can use this operation.

", "DeclineInvitations": "

Declines invitations sent to the current member account by AWS accounts specified by their account IDs.

", "DeleteDetector": "

Deletes an Amazon GuardDuty detector that is specified by the detector ID.

", "DeleteFilter": "

Deletes the filter specified by the filter name.

", "DeleteIPSet": "

Deletes the IPSet specified by the ipSetId. IPSets are called trusted IP lists in the console user interface.

", "DeleteInvitations": "

Deletes invitations sent to the current member account by AWS accounts specified by their account IDs.

", - "DeleteMembers": "

Deletes GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

", + "DeleteMembers": "

Deletes GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs.

", "DeletePublishingDestination": "

Deletes the publishing definition with the specified destinationId.

", "DeleteThreatIntelSet": "

Deletes the ThreatIntelSet specified by the ThreatIntelSet ID.

", "DescribeOrganizationConfiguration": "

Returns information about the account selected as the delegated administrator for GuardDuty.

", "DescribePublishingDestination": "

Returns information about the publishing destination specified by the provided destinationId.

", "DisableOrganizationAdminAccount": "

Disables an AWS account within the Organization as the GuardDuty delegated administrator.

", - "DisassociateFromMasterAccount": "

Disassociates the current GuardDuty member account from its master account.

", - "DisassociateMembers": "

Disassociates GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

", + "DisassociateFromMasterAccount": "

Disassociates the current GuardDuty member account from its administrator account.

", + "DisassociateMembers": "

Disassociates GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs.

", "EnableOrganizationAdminAccount": "

Enables an AWS account within the organization as the GuardDuty delegated administrator.

", "GetDetector": "

Retrieves an Amazon GuardDuty detector specified by the detectorId.

", "GetFilter": "

Returns the details of the filter specified by the filter name.

", @@ -31,22 +31,22 @@ "GetFindingsStatistics": "

Lists Amazon GuardDuty findings statistics for the specified detector ID.

", "GetIPSet": "

Retrieves the IPSet specified by the ipSetId.

", "GetInvitationsCount": "

Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation.

", - "GetMasterAccount": "

Provides the details for the GuardDuty master account associated with the current GuardDuty member account.

", + "GetMasterAccount": "

Provides the details for the GuardDuty administrator account associated with the current GuardDuty member account.

", "GetMemberDetectors": "

Describes which data sources are enabled for the member account's detector.

", - "GetMembers": "

Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

", + "GetMembers": "

Retrieves GuardDuty member accounts (of the current GuardDuty administrator account) specified by the account IDs.

", "GetThreatIntelSet": "

Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.

", "GetUsageStatistics": "

Lists Amazon GuardDuty usage statistics over the last 30 days for the specified detector ID. For newly enabled detectors or data sources the cost returned will include only the usage so far under 30 days, this may differ from the cost metrics in the console, which projects usage over 30 days to provide a monthly cost estimate. For more information see Understanding How Usage Costs are Calculated.

", - "InviteMembers": "

Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty, and allow the current AWS account to view and manage these accounts' GuardDuty findings on their behalf as the master account.

", + "InviteMembers": "

Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty, and allow the current AWS account to view and manage these accounts' findings on their behalf as the GuardDuty administrator account.

", "ListDetectors": "

Lists detectorIds of all the existing Amazon GuardDuty detector resources.

", "ListFilters": "

Returns a paginated list of the current filters.

", "ListFindings": "

Lists Amazon GuardDuty findings for the specified detector ID.

", - "ListIPSets": "

Lists the IPSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the IPSets returned are the IPSets from the associated master account.

", + "ListIPSets": "

Lists the IPSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the IPSets returned are the IPSets from the associated administrator account.

", "ListInvitations": "

Lists all GuardDuty membership invitations that were sent to the current AWS account.

", - "ListMembers": "

Lists details about all member accounts for the current GuardDuty master account.

", + "ListMembers": "

Lists details about all member accounts for the current GuardDuty administrator account.

", "ListOrganizationAdminAccounts": "

Lists the accounts configured as GuardDuty delegated administrators.

", "ListPublishingDestinations": "

Returns a list of publishing destinations associated with the specified dectectorId.

", "ListTagsForResource": "

Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, and threat intel sets, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource.

", - "ListThreatIntelSets": "

Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the ThreatIntelSets associated with the master account are returned.

", + "ListThreatIntelSets": "

Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the ThreatIntelSets associated with the administrator account are returned.

", "StartMonitoringMembers": "

Turns on GuardDuty monitoring of the specified member accounts. Use this operation to restart monitoring of accounts that you stopped monitoring with the StopMonitoringMembers operation.

", "StopMonitoringMembers": "

Stops GuardDuty monitoring for the specified member accounts. Use the StartMonitoringMembers operation to restart monitoring for those accounts.

", "TagResource": "

Adds tags to a resource.

", @@ -93,7 +93,7 @@ "AccountDetails": { "base": null, "refs": { - "CreateMembersRequest$AccountDetails": "

A list of account ID and email address pairs of the accounts that you want to associate with the master GuardDuty account.

" + "CreateMembersRequest$AccountDetails": "

A list of account ID and email address pairs of the accounts that you want to associate with the GuardDuty administrator account.

" } }, "AccountId": { @@ -102,7 +102,7 @@ "AccountDetail$AccountId": "

The member account ID.

", "AccountIds$member": null, "Invitation$AccountId": "

The ID of the account that the invitation was sent from.

", - "Master$AccountId": "

The ID of the account used as the master account.

", + "Master$AccountId": "

The ID of the account used as the administrator account.

", "Member$AccountId": "

The ID of the member account.

", "MemberDataSourceConfiguration$AccountId": "

The account ID for the member account.

", "UnprocessedAccount$AccountId": "

The AWS account ID.

", @@ -115,7 +115,7 @@ "DeclineInvitationsRequest$AccountIds": "

A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to decline invitations from.

", "DeleteInvitationsRequest$AccountIds": "

A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from.

", "DeleteMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts that you want to delete.

", - "DisassociateMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts that you want to disassociate from the master account.

", + "DisassociateMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts that you want to disassociate from the administrator account.

", "GetMemberDetectorsRequest$AccountIds": "

The account ID of the member account.

", "GetMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts that you want to describe.

", "InviteMembersRequest$AccountIds": "

A list of account IDs of the accounts that you want to invite to GuardDuty as members.

", @@ -146,7 +146,7 @@ "AdminAccounts": { "base": null, "refs": { - "ListOrganizationAdminAccountsResponse$AdminAccounts": "

An AdminAccounts object that includes a list of accounts configured as GuardDuty delegated administrators.

" + "ListOrganizationAdminAccountsResponse$AdminAccounts": "

A list of accounts configured as GuardDuty delegated administrators.

" } }, "AdminStatus": { @@ -198,7 +198,7 @@ "CreateIPSetRequest$Activate": "

A Boolean value that indicates whether GuardDuty is to start using the uploaded IPSet.

", "CreateThreatIntelSetRequest$Activate": "

A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.

", "DescribeOrganizationConfigurationResponse$AutoEnable": "

Indicates whether GuardDuty is automatically enabled for accounts added to the organization.

", - "DescribeOrganizationConfigurationResponse$MemberAccountLimitReached": "

Indicates whether the maximum number of allowed member accounts are already associated with the delegated administrator master account.

", + "DescribeOrganizationConfigurationResponse$MemberAccountLimitReached": "

Indicates whether the maximum number of allowed member accounts are already associated with the delegated administrator account for your organization.

", "InviteMembersRequest$DisableEmailNotification": "

A Boolean value that specifies whether you want to disable email notification to the accounts that you are inviting to GuardDuty as members.

", "NetworkConnectionAction$Blocked": "

Indicates whether EC2 blocked the network connection to your instance.

", "OrganizationS3LogsConfiguration$AutoEnable": "

A value that contains information on whether S3 data event logs will be enabled automatically as a data source for the organization.

", @@ -356,15 +356,15 @@ "DataSourceConfigurations": { "base": "

Contains information about which data sources are enabled.

", "refs": { - "CreateDetectorRequest$DataSources": "

An object that describes which data sources will be enabled for the detector.

", - "UpdateDetectorRequest$DataSources": "

An object that describes which data sources will be updated.

", - "UpdateMemberDetectorsRequest$DataSources": "

An object describes which data sources will be updated.

" + "CreateDetectorRequest$DataSources": "

Describes which data sources will be enabled for the detector.

", + "UpdateDetectorRequest$DataSources": "

Describes which data sources will be updated.

", + "UpdateMemberDetectorsRequest$DataSources": "

Describes which data sources will be updated.

" } }, "DataSourceConfigurationsResult": { "base": "

Contains information on the status of data sources for the detector.

", "refs": { - "GetDetectorResponse$DataSources": "

An object that describes which data sources are enabled for the detector.

", + "GetDetectorResponse$DataSources": "

Describes which data sources are enabled for the detector.

", "MemberDataSourceConfiguration$DataSources": "

Contains information on the status of data sources for the account.

" } }, @@ -523,7 +523,7 @@ "AcceptInvitationRequest$DetectorId": "

The unique ID of the detector of the GuardDuty member account.

", "ArchiveFindingsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose findings you want to archive.

", "CreateDetectorResponse$DetectorId": "

The unique ID of the created detector.

", - "CreateFilterRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account that you want to create a filter for.

", + "CreateFilterRequest$DetectorId": "

The ID of the detector belonging to the GuardDuty account that you want to create a filter for.

", "CreateIPSetRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account that you want to create an IPSet for.

", "CreateMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account that you want to associate member accounts with.

", "CreatePublishingDestinationRequest$DetectorId": "

The ID of the GuardDuty detector associated with the publishing destination.

", @@ -539,14 +539,14 @@ "DescribePublishingDestinationRequest$DetectorId": "

The unique ID of the detector associated with the publishing destination to retrieve.

", "DetectorIds$member": null, "DisassociateFromMasterAccountRequest$DetectorId": "

The unique ID of the detector of the GuardDuty member account.

", - "DisassociateMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account whose members you want to disassociate from the master account.

", + "DisassociateMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account whose members you want to disassociate from the administrator account.

", "GetDetectorRequest$DetectorId": "

The unique ID of the detector that you want to get.

", "GetFilterRequest$DetectorId": "

The unique ID of the detector that the filter is associated with.

", "GetFindingsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose findings you want to retrieve.

", "GetFindingsStatisticsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose findings' statistics you want to retrieve.

", "GetIPSetRequest$DetectorId": "

The unique ID of the detector that the IPSet is associated with.

", "GetMasterAccountRequest$DetectorId": "

The unique ID of the detector of the GuardDuty member account.

", - "GetMemberDetectorsRequest$DetectorId": "

The detector ID for the master account.

", + "GetMemberDetectorsRequest$DetectorId": "

The detector ID for the administrator account.

", "GetMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account whose members you want to retrieve.

", "GetThreatIntelSetRequest$DetectorId": "

The unique ID of the detector that the threatIntelSet is associated with.

", "GetUsageStatisticsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose usage statistics you want to retrieve.

", @@ -559,14 +559,14 @@ "ListThreatIntelSetsRequest$DetectorId": "

The unique ID of the detector that the threatIntelSet is associated with.

", "Member$DetectorId": "

The detector ID of the member account.

", "Service$DetectorId": "

The detector ID for the GuardDuty service.

", - "StartMonitoringMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty master account associated with the member accounts to monitor.

", - "StopMonitoringMembersRequest$DetectorId": "

The unique ID of the detector associated with the GuardDuty master account that is monitoring member accounts.

", + "StartMonitoringMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty administrator account associated with the member accounts to monitor.

", + "StopMonitoringMembersRequest$DetectorId": "

The unique ID of the detector associated with the GuardDuty administrator account that is monitoring member accounts.

", "UnarchiveFindingsRequest$DetectorId": "

The ID of the detector associated with the findings to unarchive.

", "UpdateDetectorRequest$DetectorId": "

The unique ID of the detector to update.

", "UpdateFilterRequest$DetectorId": "

The unique ID of the detector that specifies the GuardDuty service where you want to update a filter.

", "UpdateFindingsFeedbackRequest$DetectorId": "

The ID of the detector associated with the findings to update feedback for.

", "UpdateIPSetRequest$DetectorId": "

The detectorID that specifies the GuardDuty service whose IPSet you want to update.

", - "UpdateMemberDetectorsRequest$DetectorId": "

The detector ID of the master account.

", + "UpdateMemberDetectorsRequest$DetectorId": "

The detector ID of the administrator account.

", "UpdateOrganizationConfigurationRequest$DetectorId": "

The ID of the detector to update the delegated administrator for.

", "UpdatePublishingDestinationRequest$DetectorId": "

The ID of the detector associated with the publishing destinations to update.

", "UpdateThreatIntelSetRequest$DetectorId": "

The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to update.

" @@ -695,7 +695,7 @@ "FilterName": { "base": null, "refs": { - "CreateFilterRequest$Name": "

The name of the filter.

", + "CreateFilterRequest$Name": "

The name of the filter. Minimum length of 3. Maximum length of 64. Valid characters include alphanumeric characters, dot (.), underscore (_), and dash (-). Spaces are not allowed.

", "CreateFilterResponse$Name": "

The name of the successfully created filter.

", "FilterNames$member": null, "GetFilterResponse$Name": "

The name of the filter.

", @@ -725,7 +725,7 @@ "FindingCriteria": { "base": "

Contains information about the criteria used for querying findings.

", "refs": { - "CreateFilterRequest$FindingCriteria": "

Represents the criteria to be used in the filter for querying findings.

You can only use the following attributes to query findings:

", + "CreateFilterRequest$FindingCriteria": "

Represents the criteria to be used in the filter for querying findings.

You can only use the following attributes to query findings:

", "GetFilterResponse$FindingCriteria": "

Represents the criteria to be used in the filter for querying findings.

", "GetFindingsStatisticsRequest$FindingCriteria": "

Represents the criteria that is used for querying findings.

", "ListFindingsRequest$FindingCriteria": "

Represents the criteria used for querying findings. Valid values include:

", @@ -751,7 +751,7 @@ "FindingPublishingFrequency": { "base": null, "refs": { - "CreateDetectorRequest$FindingPublishingFrequency": "

An enum value that specifies how frequently updated findings are exported.

", + "CreateDetectorRequest$FindingPublishingFrequency": "

A value that specifies how frequently updated findings are exported.

", "GetDetectorResponse$FindingPublishingFrequency": "

The publishing frequency of the finding.

", "UpdateDetectorRequest$FindingPublishingFrequency": "

An enum value that specifies how frequently findings are exported, such as to CloudWatch Events.

" } @@ -1123,7 +1123,7 @@ "GetIPSetResponse$Location": "

The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", "GetThreatIntelSetResponse$Location": "

The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", "UpdateIPSetRequest$Location": "

The updated URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", - "UpdateThreatIntelSetRequest$Location": "

The updated URI of the file that contains the ThreateIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

" + "UpdateThreatIntelSetRequest$Location": "

The updated URI of the file that contains the ThreateIntelSet.

" } }, "Long": { @@ -1137,9 +1137,9 @@ } }, "Master": { - "base": "

Contains information about the master account and invitation.

", + "base": "

Contains information about the administrator account and invitation.

", "refs": { - "GetMasterAccountResponse$Master": "

The master account details.

" + "GetMasterAccountResponse$Master": "

The administrator account details.

" } }, "MaxResults": { @@ -1238,13 +1238,13 @@ "OrganizationDataSourceConfigurations": { "base": "

An object that contains information on which data sources will be configured to be automatically enabled for new members within the organization.

", "refs": { - "UpdateOrganizationConfigurationRequest$DataSources": "

An object describes which data sources will be updated.

" + "UpdateOrganizationConfigurationRequest$DataSources": "

Describes which data sources will be updated.

" } }, "OrganizationDataSourceConfigurationsResult": { "base": "

An object that contains information on which data sources are automatically enabled for new members within the organization.

", "refs": { - "DescribeOrganizationConfigurationResponse$DataSources": "

An object that describes which data sources are enabled automatically for member accounts.

" + "DescribeOrganizationConfigurationResponse$DataSources": "

Describes which data sources are enabled automatically for member accounts.

" } }, "OrganizationS3LogsConfiguration": { @@ -1424,8 +1424,8 @@ "String": { "base": null, "refs": { - "AcceptInvitationRequest$MasterId": "

The account ID of the master GuardDuty account whose invitation you're accepting.

", - "AcceptInvitationRequest$InvitationId": "

The value that is used to validate the master account to the member account.

", + "AcceptInvitationRequest$MasterId": "

The account ID of the GuardDuty administrator account whose invitation you're accepting.

", + "AcceptInvitationRequest$InvitationId": "

The value that is used to validate the administrator account to the member account.

", "AccessKeyDetails$AccessKeyId": "

The access key ID of the user.

", "AccessKeyDetails$PrincipalId": "

The principal ID of the user.

", "AccessKeyDetails$UserName": "

The name of the user.

", @@ -1522,11 +1522,11 @@ "ListThreatIntelSetsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "LocalIpDetails$IpAddressV4": "

The IPv4 local address of the connection.

", "LocalPortDetails$PortName": "

The port name of the local connection.

", - "Master$InvitationId": "

The value used to validate the master account to the member account.

", - "Master$RelationshipStatus": "

The status of the relationship between the master and member accounts.

", + "Master$InvitationId": "

The value used to validate the administrator account to the member account.

", + "Master$RelationshipStatus": "

The status of the relationship between the administrator and member accounts.

", "Master$InvitedAt": "

The timestamp when the invitation was sent.

", - "Member$MasterId": "

The master account ID.

", - "Member$RelationshipStatus": "

The status of the relationship between the member and the master.

", + "Member$MasterId": "

The administrator account ID.

", + "Member$RelationshipStatus": "

The status of the relationship between the member and the administrator.

", "Member$InvitedAt": "

The timestamp when the invitation was sent.

", "Member$UpdatedAt": "

The last-updated timestamp of the member.

", "Neq$member": null, diff --git a/models/apis/iotsitewise/2019-12-02/api-2.json b/models/apis/iotsitewise/2019-12-02/api-2.json index dbfcaee240..4e2d13dab1 100644 --- a/models/apis/iotsitewise/2019-12-02/api-2.json +++ b/models/apis/iotsitewise/2019-12-02/api-2.json @@ -195,22 +195,6 @@ ], "endpoint":{"hostPrefix":"monitor."} }, - "CreatePresignedPortalUrl":{ - "name":"CreatePresignedPortalUrl", - "http":{ - "method":"GET", - "requestUri":"/portals/{portalId}/presigned-url", - "responseCode":200 - }, - "input":{"shape":"CreatePresignedPortalUrlRequest"}, - "output":{"shape":"CreatePresignedPortalUrlResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ThrottlingException"} - ], - "endpoint":{"hostPrefix":"monitor."} - }, "CreateProject":{ "name":"CreateProject", "http":{ @@ -625,6 +609,22 @@ ], "endpoint":{"hostPrefix":"model."} }, + "ListAssetRelationships":{ + "name":"ListAssetRelationships", + "http":{ + "method":"GET", + "requestUri":"/assets/{assetId}/assetRelationships" + }, + "input":{"shape":"ListAssetRelationshipsRequest"}, + "output":{"shape":"ListAssetRelationshipsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "endpoint":{"hostPrefix":"model."} + }, "ListAssets":{ "name":"ListAssets", "http":{ @@ -748,7 +748,10 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalFailureException"}, {"shape":"ThrottlingException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"} ] }, "PutDefaultEncryptionConfiguration":{ @@ -797,6 +800,9 @@ {"shape":"InternalFailureException"}, {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, {"shape":"TooManyTagsException"} ] }, @@ -812,7 +818,10 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalFailureException"}, {"shape":"ThrottlingException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"} ] }, "UpdateAccessPolicy":{ @@ -1052,6 +1061,24 @@ "max":1011, "min":1 }, + "AssetCompositeModel":{ + "type":"structure", + "required":[ + "name", + "type", + "properties" + ], + "members":{ + "name":{"shape":"Name"}, + "description":{"shape":"Description"}, + "type":{"shape":"Name"}, + "properties":{"shape":"AssetProperties"} + } + }, + "AssetCompositeModels":{ + "type":"list", + "member":{"shape":"AssetCompositeModel"} + }, "AssetErrorCode":{ "type":"string", "enum":["INTERNAL_FAILURE"] @@ -1082,10 +1109,51 @@ "name":{"shape":"Name"} } }, + "AssetHierarchyInfo":{ + "type":"structure", + "members":{ + "parentAssetId":{"shape":"ID"}, + "childAssetId":{"shape":"ID"} + } + }, "AssetIDs":{ "type":"list", "member":{"shape":"ID"} }, + "AssetModelCompositeModel":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "name":{"shape":"Name"}, + "description":{"shape":"Description"}, + "type":{"shape":"Name"}, + "properties":{"shape":"AssetModelProperties"} + } + }, + "AssetModelCompositeModelDefinition":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "name":{"shape":"Name"}, + "description":{"shape":"Description"}, + "type":{"shape":"Name"}, + "properties":{"shape":"AssetModelPropertyDefinitions"} + } + }, + "AssetModelCompositeModelDefinitions":{ + "type":"list", + "member":{"shape":"AssetModelCompositeModelDefinition"} + }, + "AssetModelCompositeModels":{ + "type":"list", + "member":{"shape":"AssetModelCompositeModel"} + }, "AssetModelHierarchies":{ "type":"list", "member":{"shape":"AssetModelHierarchy"} @@ -1132,6 +1200,7 @@ "id":{"shape":"ID"}, "name":{"shape":"Name"}, "dataType":{"shape":"PropertyDataType"}, + "dataTypeSpec":{"shape":"Name"}, "unit":{"shape":"PropertyUnit"}, "type":{"shape":"PropertyType"} } @@ -1146,6 +1215,7 @@ "members":{ "name":{"shape":"Name"}, "dataType":{"shape":"PropertyDataType"}, + "dataTypeSpec":{"shape":"Name"}, "unit":{"shape":"PropertyUnit"}, "type":{"shape":"PropertyType"} } @@ -1215,6 +1285,7 @@ "alias":{"shape":"PropertyAlias"}, "notification":{"shape":"PropertyNotification"}, "dataType":{"shape":"PropertyDataType"}, + "dataTypeSpec":{"shape":"Name"}, "unit":{"shape":"PropertyUnit"} } }, @@ -1244,6 +1315,22 @@ "type":"list", "member":{"shape":"AssetPropertyValue"} }, + "AssetRelationshipSummaries":{ + "type":"list", + "member":{"shape":"AssetRelationshipSummary"} + }, + "AssetRelationshipSummary":{ + "type":"structure", + "required":["relationshipType"], + "members":{ + "hierarchyInfo":{"shape":"AssetHierarchyInfo"}, + "relationshipType":{"shape":"AssetRelationshipType"} + } + }, + "AssetRelationshipType":{ + "type":"string", + "enum":["HIERARCHY"] + }, "AssetState":{ "type":"string", "enum":[ @@ -1470,7 +1557,7 @@ }, "CapabilityConfiguration":{ "type":"string", - "max":204800, + "max":104857600, "min":1 }, "CapabilityNamespace":{ @@ -1493,6 +1580,19 @@ "min":36, "pattern":"\\S{36,64}" }, + "CompositeModelProperty":{ + "type":"structure", + "required":[ + "name", + "type", + "assetProperty" + ], + "members":{ + "name":{"shape":"Name"}, + "type":{"shape":"Name"}, + "assetProperty":{"shape":"Property"} + } + }, "ConfigurationErrorDetails":{ "type":"structure", "required":[ @@ -1572,6 +1672,7 @@ "assetModelDescription":{"shape":"Description"}, "assetModelProperties":{"shape":"AssetModelPropertyDefinitions"}, "assetModelHierarchies":{"shape":"AssetModelHierarchyDefinitions"}, + "assetModelCompositeModels":{"shape":"AssetModelCompositeModelDefinitions"}, "clientToken":{ "shape":"ClientToken", "idempotencyToken":true @@ -1712,29 +1813,6 @@ "ssoApplicationId":{"shape":"SSOApplicationId"} } }, - "CreatePresignedPortalUrlRequest":{ - "type":"structure", - "required":["portalId"], - "members":{ - "portalId":{ - "shape":"ID", - "location":"uri", - "locationName":"portalId" - }, - "sessionDurationSeconds":{ - "shape":"SessionDurationSeconds", - "location":"querystring", - "locationName":"sessionDurationSeconds" - } - } - }, - "CreatePresignedPortalUrlResponse":{ - "type":"structure", - "required":["presignedPortalUrl"], - "members":{ - "presignedPortalUrl":{"shape":"Url"} - } - }, "CreateProjectRequest":{ "type":"structure", "required":[ @@ -2005,6 +2083,7 @@ "assetModelDescription":{"shape":"Description"}, "assetModelProperties":{"shape":"AssetModelProperties"}, "assetModelHierarchies":{"shape":"AssetModelHierarchies"}, + "assetModelCompositeModels":{"shape":"AssetModelCompositeModels"}, "assetModelCreationDate":{"shape":"Timestamp"}, "assetModelLastUpdateDate":{"shape":"Timestamp"}, "assetModelStatus":{"shape":"AssetModelStatus"} @@ -2034,14 +2113,14 @@ "required":[ "assetId", "assetName", - "assetModelId", - "assetProperty" + "assetModelId" ], "members":{ "assetId":{"shape":"ID"}, "assetName":{"shape":"Name"}, "assetModelId":{"shape":"ID"}, - "assetProperty":{"shape":"Property"} + "assetProperty":{"shape":"Property"}, + "compositeModel":{"shape":"CompositeModelProperty"} } }, "DescribeAssetRequest":{ @@ -2075,6 +2154,7 @@ "assetModelId":{"shape":"ID"}, "assetProperties":{"shape":"AssetProperties"}, "assetHierarchies":{"shape":"AssetHierarchies"}, + "assetCompositeModels":{"shape":"AssetCompositeModels"}, "assetCreationDate":{"shape":"Timestamp"}, "assetLastUpdateDate":{"shape":"Timestamp"}, "assetStatus":{"shape":"AssetStatus"} @@ -2767,6 +2847,43 @@ "nextToken":{"shape":"NextToken"} } }, + "ListAssetRelationshipsRequest":{ + "type":"structure", + "required":[ + "assetId", + "traversalType" + ], + "members":{ + "assetId":{ + "shape":"ID", + "location":"uri", + "locationName":"assetId" + }, + "traversalType":{ + "shape":"TraversalType", + "location":"querystring", + "locationName":"traversalType" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAssetRelationshipsResponse":{ + "type":"structure", + "required":["assetRelationshipSummaries"], + "members":{ + "assetRelationshipSummaries":{"shape":"AssetRelationshipSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListAssetsFilter":{ "type":"string", "enum":[ @@ -3192,7 +3309,8 @@ "STRING", "INTEGER", "DOUBLE", - "BOOLEAN" + "BOOLEAN", + "STRUCT" ] }, "PropertyNotification":{ @@ -3234,8 +3352,6 @@ "PropertyValueIntegerValue":{"type":"integer"}, "PropertyValueStringValue":{ "type":"string", - "max":1024, - "min":1, "pattern":"[^\\u0000-\\u001F\\u007F]+" }, "PutAssetPropertyValueEntries":{ @@ -3364,11 +3480,6 @@ "exception":true, "fault":true }, - "SessionDurationSeconds":{ - "type":"integer", - "max":43200, - "min":900 - }, "TagKey":{ "type":"string", "max":128, @@ -3473,6 +3584,10 @@ "CHILD" ] }, + "TraversalType":{ + "type":"string", + "enum":["PATH_TO_ROOT"] + }, "TumblingWindow":{ "type":"structure", "required":["interval"], @@ -3480,6 +3595,15 @@ "interval":{"shape":"Interval"} } }, + "UnauthorizedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":401}, + "exception":true + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -3548,6 +3672,7 @@ "assetModelDescription":{"shape":"Description"}, "assetModelProperties":{"shape":"AssetModelProperties"}, "assetModelHierarchies":{"shape":"AssetModelHierarchies"}, + "assetModelCompositeModels":{"shape":"AssetModelCompositeModels"}, "clientToken":{ "shape":"ClientToken", "idempotencyToken":true diff --git a/models/apis/iotsitewise/2019-12-02/docs-2.json b/models/apis/iotsitewise/2019-12-02/docs-2.json index 7a4219e690..de5405c2b6 100644 --- a/models/apis/iotsitewise/2019-12-02/docs-2.json +++ b/models/apis/iotsitewise/2019-12-02/docs-2.json @@ -5,14 +5,13 @@ "AssociateAssets": "

Associates a child asset with the given parent asset through a hierarchy defined in the parent asset's model. For more information, see Associating assets in the AWS IoT SiteWise User Guide.

", "BatchAssociateProjectAssets": "

Associates a group (batch) of assets with an AWS IoT SiteWise Monitor project.

", "BatchDisassociateProjectAssets": "

Disassociates a group (batch) of assets from an AWS IoT SiteWise Monitor project.

", - "BatchPutAssetPropertyValue": "

Sends a list of asset property values to AWS IoT SiteWise. Each value is a timestamp-quality-value (TQV) data point. For more information, see Ingesting data using the API in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs that have a timestamp of no more than 15 minutes in the past and no more than 5 minutes in the future. AWS IoT SiteWise rejects timestamps outside of the inclusive range of [-15, +5] minutes and returns a TimestampOutOfRangeException error.

For each asset property, AWS IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1}, then storing {T1, GOOD, V2} replaces the existing TQV.

AWS IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually. For more information, see BatchPutAssetPropertyValue authorization in the AWS IoT SiteWise User Guide.

", + "BatchPutAssetPropertyValue": "

Sends a list of asset property values to AWS IoT SiteWise. Each value is a timestamp-quality-value (TQV) data point. For more information, see Ingesting data using the API in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs that have a timestamp of no more than 7 days in the past and no more than 5 minutes in the future. AWS IoT SiteWise rejects timestamps outside of the inclusive range of [-7 days, +5 minutes] and returns a TimestampOutOfRangeException error.

For each asset property, AWS IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1}, then storing {T1, GOOD, V2} replaces the existing TQV.

AWS IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually. For more information, see BatchPutAssetPropertyValue authorization in the AWS IoT SiteWise User Guide.

", "CreateAccessPolicy": "

Creates an access policy that grants the specified identity (AWS SSO user, AWS SSO group, or IAM user) access to the specified AWS IoT SiteWise Monitor portal or project resource.

", "CreateAsset": "

Creates an asset from an existing asset model. For more information, see Creating assets in the AWS IoT SiteWise User Guide.

", "CreateAssetModel": "

Creates an asset model from specified property and hierarchy definitions. You create assets from asset models. With asset models, you can easily create assets of the same type that have standardized definitions. Each asset created from a model inherits the asset model's property and hierarchy definitions. For more information, see Defining asset models in the AWS IoT SiteWise User Guide.

", "CreateDashboard": "

Creates a dashboard in an AWS IoT SiteWise Monitor project.

", "CreateGateway": "

Creates a gateway, which is a virtual or edge device that delivers industrial data streams from local servers to AWS IoT SiteWise. For more information, see Ingesting data using a gateway in the AWS IoT SiteWise User Guide.

", "CreatePortal": "

Creates a portal, which can contain projects and dashboards. AWS IoT SiteWise Monitor uses AWS SSO or IAM to authenticate portal users and manage user permissions.

Before you can sign in to a new portal, you must add at least one identity to that portal. For more information, see Adding or removing portal administrators in the AWS IoT SiteWise User Guide.

", - "CreatePresignedPortalUrl": "

Creates a pre-signed URL to a portal. Use this operation to create URLs to portals that use AWS Identity and Access Management (IAM) to authenticate users. An IAM user with access to a portal can call this API to get a URL to that portal. The URL contains an authentication token that lets the IAM user access the portal.

", "CreateProject": "

Creates a project in the specified portal.

", "DeleteAccessPolicy": "

Deletes an access policy that grants the specified identity access to the specified AWS IoT SiteWise Monitor resource. You can use this operation to revoke access to an AWS IoT SiteWise Monitor resource.

", "DeleteAsset": "

Deletes an asset. This action can't be undone. For more information, see Deleting assets and models in the AWS IoT SiteWise User Guide.

You can't delete an asset that's associated to another asset. For more information, see DisassociateAssets.

", @@ -38,6 +37,7 @@ "GetAssetPropertyValueHistory": "

Gets the history of an asset property's values. For more information, see Querying historical values in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

", "ListAccessPolicies": "

Retrieves a paginated list of access policies for an identity (an AWS SSO user, an AWS SSO group, or an IAM user) or an AWS IoT SiteWise Monitor resource (a portal or project).

", "ListAssetModels": "

Retrieves a paginated list of summaries of all asset models.

", + "ListAssetRelationships": "

Retrieves a paginated list of asset relationships for an asset. You can use this operation to identify an asset's root asset and all associated assets between that asset and its root.

", "ListAssets": "

Retrieves a paginated list of asset summaries.

You can use this operation to do the following:

You can't use this operation to list all assets. To retrieve summaries for all of your assets, use ListAssetModels to get all of your asset model IDs. Then, use ListAssets to get all assets for each asset model.

", "ListAssociatedAssets": "

Retrieves a paginated list of associated assets.

You can use this operation to do the following:

", "ListDashboards": "

Retrieves a paginated list of dashboards for an AWS IoT SiteWise Monitor project.

", @@ -85,7 +85,7 @@ "DescribePortalResponse$roleArn": "

The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

", "DescribeProjectResponse$projectArn": "

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

arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}

", "Greengrass$groupArn": "

The ARN of the Greengrass group. For more information about how to find a group's ARN, see ListGroups and GetGroup in the AWS IoT Greengrass API Reference.

", - "IAMUserIdentity$arn": "

The ARN of the IAM user. IAM users must have the iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. For more information, see IAM ARNs in the IAM User Guide.

If you delete the IAM user, access policies that contain this identity include an empty arn. You can delete the access policy for the IAM user that no longer exists.

", + "IAMUserIdentity$arn": "

The ARN of the IAM user. For more information, see IAM ARNs in the IAM User Guide.

If you delete the IAM user, access policies that contain this identity include an empty arn. You can delete the access policy for the IAM user that no longer exists.

", "ListAccessPoliciesRequest$iamArn": "

The ARN of the IAM user. For more information, see IAM ARNs in the IAM User Guide. This parameter is required if you specify IAM for identityType.

", "PortalSummary$roleArn": "

The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

", "PutDefaultEncryptionConfigurationResponse$kmsKeyArn": "

The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you use KMS_BASED_ENCRYPTION.

", @@ -154,6 +154,18 @@ "UntagResourceRequest$resourceArn": "

The ARN of the resource to untag.

" } }, + "AssetCompositeModel": { + "base": "

Contains information about a composite model in an asset. This object contains the asset's properties that you define in the composite model.

", + "refs": { + "AssetCompositeModels$member": null + } + }, + "AssetCompositeModels": { + "base": null, + "refs": { + "DescribeAssetResponse$assetCompositeModels": "

The composite models for the asset.

" + } + }, "AssetErrorCode": { "base": null, "refs": { @@ -187,12 +199,43 @@ "AssetHierarchies$member": null } }, + "AssetHierarchyInfo": { + "base": "

Contains information about a parent asset and a child asset that are related through an asset hierarchy.

", + "refs": { + "AssetRelationshipSummary$hierarchyInfo": "

The assets that are related through an asset hierarchy.

This object is present if the relationshipType is HIERARCHY.

" + } + }, "AssetIDs": { "base": null, "refs": { "ListProjectAssetsResponse$assetIds": "

A list that contains the IDs of each asset associated with the project.

" } }, + "AssetModelCompositeModel": { + "base": "

Contains information about a composite model in an asset model. This object contains the asset property definitions that you define in the composite model.

", + "refs": { + "AssetModelCompositeModels$member": null + } + }, + "AssetModelCompositeModelDefinition": { + "base": "

Contains a composite model definition in an asset model. This composite model definition is applied to all assets created from the asset model.

", + "refs": { + "AssetModelCompositeModelDefinitions$member": null + } + }, + "AssetModelCompositeModelDefinitions": { + "base": null, + "refs": { + "CreateAssetModelRequest$assetModelCompositeModels": "

The composite asset models that are part of this asset model. Composite asset models are asset models that contain specific properties. Each composite model has a type that defines the properties that the composite model supports. Use composite asset models to define alarms on this asset model.

" + } + }, + "AssetModelCompositeModels": { + "base": null, + "refs": { + "DescribeAssetModelResponse$assetModelCompositeModels": "

The list of composite asset models for the asset model.

", + "UpdateAssetModelRequest$assetModelCompositeModels": "

The composite asset models that are part of this asset model. Composite asset models are asset models that contain specific properties. Each composite model has a type that defines the properties that the composite model supports. Use composite asset models to define alarms on this asset model.

" + } + }, "AssetModelHierarchies": { "base": null, "refs": { @@ -221,7 +264,8 @@ "AssetModelProperties": { "base": null, "refs": { - "DescribeAssetModelResponse$assetModelProperties": "

The list of asset properties for the asset model.

", + "AssetModelCompositeModel$properties": "

The asset property definitions for this composite model.

", + "DescribeAssetModelResponse$assetModelProperties": "

The list of asset properties for the asset model.

This object doesn't include properties that you define in composite models. You can find composite model properties in the assetModelCompositeModels object.

", "UpdateAssetModelRequest$assetModelProperties": "

The updated property definitions of the asset model. For more information, see Asset properties in the AWS IoT SiteWise User Guide.

You can specify up to 200 properties per asset model. For more information, see Quotas in the AWS IoT SiteWise User Guide.

" } }, @@ -240,6 +284,7 @@ "AssetModelPropertyDefinitions": { "base": null, "refs": { + "AssetModelCompositeModelDefinition$properties": "

The asset property definitions for this composite model.

", "CreateAssetModelRequest$assetModelProperties": "

The property definitions of the asset model. For more information, see Asset properties in the AWS IoT SiteWise User Guide.

You can specify up to 200 properties per asset model. For more information, see Quotas in the AWS IoT SiteWise User Guide.

" } }, @@ -274,7 +319,8 @@ "AssetProperties": { "base": null, "refs": { - "DescribeAssetResponse$assetProperties": "

The list of asset properties for the asset.

" + "AssetCompositeModel$properties": "

The asset properties that this composite model defines.

", + "DescribeAssetResponse$assetProperties": "

The list of asset properties for the asset.

This object doesn't include properties that you define in composite models. You can find composite model properties in the assetCompositeModels object.

" } }, "AssetProperty": { @@ -312,6 +358,24 @@ "PutAssetPropertyValueEntry$propertyValues": "

The list of property values to upload. You can specify up to 10 propertyValues array elements.

" } }, + "AssetRelationshipSummaries": { + "base": null, + "refs": { + "ListAssetRelationshipsResponse$assetRelationshipSummaries": "

A list that summarizes each asset relationship.

" + } + }, + "AssetRelationshipSummary": { + "base": "

Contains information about assets that are related to one another.

", + "refs": { + "AssetRelationshipSummaries$member": null + } + }, + "AssetRelationshipType": { + "base": null, + "refs": { + "AssetRelationshipSummary$relationshipType": "

The relationship type of the assets in this relationship. This value is one of the following:

" + } + }, "AssetState": { "base": null, "refs": { @@ -367,7 +431,7 @@ "AuthMode": { "base": null, "refs": { - "CreatePortalRequest$portalAuthMode": "

The service to use to authenticate users to the portal. Choose from the following options:

You can't change this value after you create a portal.

Default: SSO

", + "CreatePortalRequest$portalAuthMode": "

The service to use to authenticate users to the portal. Choose from the following options:

You can't change this value after you create a portal.

Default: SSO

", "DescribePortalResponse$portalAuthMode": "

The service to use to authenticate users to the portal.

" } }, @@ -496,20 +560,26 @@ "UpdateProjectRequest$clientToken": "

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.

" } }, + "CompositeModelProperty": { + "base": "

Contains information about a composite model property on an asset.

", + "refs": { + "DescribeAssetPropertyResponse$compositeModel": "

The composite asset model that declares this asset property, if this asset property exists in a composite model.

" + } + }, "ConfigurationErrorDetails": { - "base": "

", + "base": "

Contains the details of an AWS IoT SiteWise configuration error.

", "refs": { - "ConfigurationStatus$error": "

" + "ConfigurationStatus$error": "

Contains associated error information, if any.

" } }, "ConfigurationState": { "base": null, "refs": { - "ConfigurationStatus$state": "

" + "ConfigurationStatus$state": "

The current state of the configuration.

" } }, "ConfigurationStatus": { - "base": "

", + "base": "

Contains current status information for the configuration.

", "refs": { "DescribeDefaultEncryptionConfigurationResponse$configurationStatus": "

The status of the account configuration. This contains the ConfigurationState. If there's an error, it also contains the ErrorDetails.

", "PutDefaultEncryptionConfigurationResponse$configurationStatus": "

The status of the account configuration. This contains the ConfigurationState. If there is an error, it also contains the ErrorDetails.

" @@ -580,16 +650,6 @@ "refs": { } }, - "CreatePresignedPortalUrlRequest": { - "base": null, - "refs": { - } - }, - "CreatePresignedPortalUrlResponse": { - "base": null, - "refs": { - } - }, "CreateProjectRequest": { "base": null, "refs": { @@ -804,6 +864,9 @@ "Description": { "base": null, "refs": { + "AssetCompositeModel$description": "

The description of the composite model.

", + "AssetModelCompositeModel$description": "

The description of the composite model.

", + "AssetModelCompositeModelDefinition$description": "

The description of the composite model.

", "AssetModelSummary$description": "

The asset model description.

", "CreateAssetModelRequest$assetModelDescription": "

A description for the asset model.

", "CreateDashboardRequest$dashboardDescription": "

A description for the dashboard.

", @@ -853,7 +916,7 @@ "ErrorCode": { "base": null, "refs": { - "ConfigurationErrorDetails$code": "

", + "ConfigurationErrorDetails$code": "

The error code.

", "ErrorDetails$code": "

The error code.

" } }, @@ -868,7 +931,7 @@ "base": null, "refs": { "BatchPutAssetPropertyError$errorMessage": "

The associated error message.

", - "ConfigurationErrorDetails$message": "

", + "ConfigurationErrorDetails$message": "

The error message.

", "ConflictingOperationException$message": null, "ErrorDetails$message": "

The error message.

", "InternalFailureException$message": null, @@ -877,7 +940,8 @@ "ResourceAlreadyExistsException$message": null, "ResourceNotFoundException$message": null, "ServiceUnavailableException$message": null, - "ThrottlingException$message": null + "ThrottlingException$message": null, + "UnauthorizedException$message": null } }, "ExceptionMessage": { @@ -992,6 +1056,8 @@ "AccessPolicySummary$id": "

The ID of the access policy.

", "AssetErrorDetails$assetId": "

The ID of the asset.

", "AssetHierarchy$id": "

The ID of the hierarchy. This ID is a hierarchyId.

", + "AssetHierarchyInfo$parentAssetId": "

The ID of the parent asset in this asset relationship.

", + "AssetHierarchyInfo$childAssetId": "

The ID of the child asset in this asset relationship.

", "AssetIDs$member": null, "AssetModelHierarchy$id": "

The ID of the asset model hierarchy. This ID is a hierarchyId.

", "AssetModelHierarchy$childAssetModelId": "

The ID of the asset model. All assets in this hierarchy must be instances of the childAssetModelId asset model.

", @@ -1016,7 +1082,6 @@ "CreateDashboardResponse$dashboardId": "

The ID of the dashboard.

", "CreateGatewayResponse$gatewayId": "

The ID of the gateway device. You can use this ID when you call other AWS IoT SiteWise APIs.

", "CreatePortalResponse$portalId": "

The ID of the created portal.

", - "CreatePresignedPortalUrlRequest$portalId": "

The ID of the portal to access.

", "CreateProjectRequest$portalId": "

The ID of the portal in which to create the project.

", "CreateProjectResponse$projectId": "

The ID of the project.

", "DashboardSummary$id": "

The ID of the dashboard.

", @@ -1064,6 +1129,7 @@ "Image$id": "

The ID of an existing image. Specify this parameter to keep an existing image.

", "ImageLocation$id": "

The ID of the image.

", "ListAccessPoliciesRequest$resourceId": "

The ID of the resource. This parameter is required if you specify resourceType.

", + "ListAssetRelationshipsRequest$assetId": "

The ID of the asset.

", "ListAssetsRequest$assetModelId": "

The ID of the asset model by which to filter the list of assets. This parameter is required if you choose ALL for filter.

", "ListAssociatedAssetsRequest$assetId": "

The ID of the asset to query.

", "ListAssociatedAssetsRequest$hierarchyId": "

The ID of the hierarchy by which child assets are associated to the asset. To find a hierarchy ID, use the DescribeAsset or DescribeAssetModel operations. This parameter is required if you choose CHILD for traversalDirection.

For more information, see Asset hierarchies in the AWS IoT SiteWise User Guide.

", @@ -1197,6 +1263,16 @@ "refs": { } }, + "ListAssetRelationshipsRequest": { + "base": null, + "refs": { + } + }, + "ListAssetRelationshipsResponse": { + "base": null, + "refs": { + } + }, "ListAssetsFilter": { "base": null, "refs": { @@ -1310,6 +1386,7 @@ "GetAssetPropertyValueHistoryRequest$maxResults": "

The maximum number of results to be returned per paginated request.

Default: 100

", "ListAccessPoliciesRequest$maxResults": "

The maximum number of results to be returned per paginated request.

Default: 50

", "ListAssetModelsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

Default: 50

", + "ListAssetRelationshipsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

", "ListAssetsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

Default: 50

", "ListAssociatedAssetsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

Default: 50

", "ListDashboardsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

Default: 50

", @@ -1358,15 +1435,26 @@ "Name": { "base": null, "refs": { + "AssetCompositeModel$name": "

The name of the composite model.

", + "AssetCompositeModel$type": "

The type of the composite model. For alarm composite models, this type is AWS/ALARM.

", "AssetHierarchy$name": "

The hierarchy name provided in the CreateAssetModel or UpdateAssetModel API operation.

", + "AssetModelCompositeModel$name": "

The name of the composite model.

", + "AssetModelCompositeModel$type": "

The type of the composite model. For alarm composite models, this type is AWS/ALARM.

", + "AssetModelCompositeModelDefinition$name": "

The name of the composite model.

", + "AssetModelCompositeModelDefinition$type": "

The type of the composite model. For alarm composite models, this type is AWS/ALARM.

", "AssetModelHierarchy$name": "

The name of the asset model hierarchy that you specify by using the CreateAssetModel or UpdateAssetModel API operation.

", "AssetModelHierarchyDefinition$name": "

The name of the asset model hierarchy definition (as specified in the CreateAssetModel or UpdateAssetModel API operation).

", "AssetModelProperty$name": "

The name of the asset model property.

", + "AssetModelProperty$dataTypeSpec": "

The data type of the structure for this property. This parameter exists on properties that have the STRUCT data type.

", "AssetModelPropertyDefinition$name": "

The name of the property definition.

", + "AssetModelPropertyDefinition$dataTypeSpec": "

The data type of the structure for this property. This parameter is required on properties that have the STRUCT data type.

The options for this parameter depend on the type of the composite model in which you define this property. Use AWS/ALARM_STATE for alarm state in alarm composite models.

", "AssetModelSummary$name": "

The name of the asset model.

", "AssetProperty$name": "

The name of the property.

", + "AssetProperty$dataTypeSpec": "

The data type of the structure for this property. This parameter exists on properties that have the STRUCT data type.

", "AssetSummary$name": "

The name of the asset.

", "AssociatedAssetsSummary$name": "

The name of the asset.

", + "CompositeModelProperty$name": "

The name of the property.

", + "CompositeModelProperty$type": "

The type of the composite model that defines this property.

", "CreateAssetModelRequest$assetModelName": "

A unique, friendly name for the asset model.

", "CreateAssetRequest$assetName": "

A unique, friendly name for the asset.

", "CreateDashboardRequest$dashboardName": "

A friendly name for the dashboard.

", @@ -1404,6 +1492,8 @@ "ListAccessPoliciesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAssetModelsRequest$nextToken": "

The token to be used for the next set of paginated results.

", "ListAssetModelsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", + "ListAssetRelationshipsRequest$nextToken": "

The token to be used for the next set of paginated results.

", + "ListAssetRelationshipsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAssetsRequest$nextToken": "

The token to be used for the next set of paginated results.

", "ListAssetsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAssociatedAssetsRequest$nextToken": "

The token to be used for the next set of paginated results.

", @@ -1496,7 +1586,8 @@ "Property": { "base": "

Contains asset property information.

", "refs": { - "DescribeAssetPropertyResponse$assetProperty": "

The asset property's definition, alias, and notification state.

" + "CompositeModelProperty$assetProperty": null, + "DescribeAssetPropertyResponse$assetProperty": "

The asset property's definition, alias, and notification state.

This response includes this object for normal asset properties. If you describe an asset property in a composite model, this response includes the asset property information in compositeModel.

" } }, "PropertyAlias": { @@ -1511,7 +1602,7 @@ "base": null, "refs": { "AssetModelProperty$dataType": "

The data type of the asset model property.

", - "AssetModelPropertyDefinition$dataType": "

The data type of the property definition.

", + "AssetModelPropertyDefinition$dataType": "

The data type of the property definition.

If you specify STRUCT, you must also specify dataTypeSpec to identify the type of the structure for this property.

", "AssetProperty$dataType": "

The data type of the asset property.

", "Property$dataType": "

The property data type.

" } @@ -1680,12 +1771,6 @@ "refs": { } }, - "SessionDurationSeconds": { - "base": null, - "refs": { - "CreatePresignedPortalUrlRequest$sessionDurationSeconds": "

The duration (in seconds) for which the session at the URL is valid.

Default: 43,200 seconds (12 hours)

" - } - }, "TagKey": { "base": null, "refs": { @@ -1817,12 +1902,23 @@ "ListAssociatedAssetsRequest$traversalDirection": "

The direction to list associated assets. Choose one of the following options:

Default: CHILD

" } }, + "TraversalType": { + "base": null, + "refs": { + "ListAssetRelationshipsRequest$traversalType": "

The type of traversal to use to identify asset relationships. Choose the following option:

" + } + }, "TumblingWindow": { "base": "

Contains a tumbling window, which is a repeating fixed-sized, non-overlapping, and contiguous time interval. This window is used in metric and aggregation computations.

", "refs": { "MetricWindow$tumbling": "

The tumbling time interval window.

" } }, + "UnauthorizedException": { + "base": "

You are not authorized.

", + "refs": { + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -1916,11 +2012,10 @@ "Url": { "base": null, "refs": { - "CreatePortalResponse$portalStartUrl": "

The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that use AWS SSO for authentication. For portals that use IAM for authentication, you must use the CreatePresignedPortalUrl operation to create a URL that you can use to access the portal.

", - "CreatePresignedPortalUrlResponse$presignedPortalUrl": "

The pre-signed URL to the portal. The URL contains the portal ID and an authentication token that lets you access the portal. The URL has the following format.

https://<portal-id>.app.iotsitewise.aws/iam?token=<encrypted-token>

", - "DescribePortalResponse$portalStartUrl": "

The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that use AWS SSO for authentication. For portals that use IAM for authentication, you must use the CreatePresignedPortalUrl operation to create a URL that you can use to access the portal.

", + "CreatePortalResponse$portalStartUrl": "

The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that use AWS SSO for authentication. For portals that use IAM for authentication, you must use the AWS IoT SiteWise console to get a URL that you can use to access the portal.

", + "DescribePortalResponse$portalStartUrl": "

The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that use AWS SSO for authentication. For portals that use IAM for authentication, you must use the AWS IoT SiteWise console to get a URL that you can use to access the portal.

", "ImageLocation$url": "

The URL where the image is available. The URL is valid for 15 minutes so that you can view and download the image

", - "PortalSummary$startUrl": "

The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that use AWS SSO for authentication. For portals that use IAM for authentication, you must use the CreatePresignedPortalUrl operation to create a URL that you can use to access the portal.

" + "PortalSummary$startUrl": "

The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that use AWS SSO for authentication. For portals that use IAM for authentication, you must use the AWS IoT SiteWise console to get a URL that you can use to access the portal.

" } }, "UserIdentity": { diff --git a/models/apis/iotsitewise/2019-12-02/paginators-1.json b/models/apis/iotsitewise/2019-12-02/paginators-1.json index cb6ceb445d..6477a679a0 100644 --- a/models/apis/iotsitewise/2019-12-02/paginators-1.json +++ b/models/apis/iotsitewise/2019-12-02/paginators-1.json @@ -24,6 +24,12 @@ "limit_key": "maxResults", "result_key": "assetModelSummaries" }, + "ListAssetRelationships": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "assetRelationshipSummaries" + }, "ListAssets": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/monitoring/2010-08-01/docs-2.json b/models/apis/monitoring/2010-08-01/docs-2.json index 7d658ae94c..4cfe29cc1d 100644 --- a/models/apis/monitoring/2010-08-01/docs-2.json +++ b/models/apis/monitoring/2010-08-01/docs-2.json @@ -7,7 +7,7 @@ "DeleteDashboards": "

Deletes all dashboards that you specify. You can specify up to 100 dashboards to delete. If there is an error during this call, no dashboards are deleted.

", "DeleteInsightRules": "

Permanently deletes the specified Contributor Insights rules.

If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created might not be available.

", "DescribeAlarmHistory": "

Retrieves the history for the specified alarm. You can filter the results by date range or item type. If an alarm name is not specified, the histories for either all metric alarms or all composite alarms are returned.

CloudWatch retains the history of an alarm even if you delete the alarm.

", - "DescribeAlarms": "

Retrieves the specified alarms. You can filter the results by specifying a a prefix for the alarm name, the alarm state, or a prefix for any action.

", + "DescribeAlarms": "

Retrieves the specified alarms. You can filter the results by specifying a prefix for the alarm name, the alarm state, or a prefix for any action.

", "DescribeAlarmsForMetric": "

Retrieves the alarms for the specified metric. To filter the results, specify a statistic, period, or unit.

This operation retrieves only standard alarms that are based on the specified metric. It does not return alarms based on math expressions that use the specified metric, or composite alarms that use the specified metric.

", "DescribeAnomalyDetectors": "

Lists the anomaly detection models that you have created in your account. You can list all models in your account or filter the results to only the models that are related to a certain namespace, metric name, or metric dimension.

", "DescribeInsightRules": "

Returns a list of all the Contributor Insights rules in your account.

For more information about Contributor Insights, see Using Contributor Insights to Analyze High-Cardinality Data.

", @@ -24,10 +24,10 @@ "ListMetrics": "

List the specified metrics. You can use the returned metrics with GetMetricData or GetMetricStatistics to obtain statistical data.

Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls.

After you create a metric, allow up to 15 minutes before the metric appears. You can see statistics about the metric sooner by using GetMetricData or GetMetricStatistics.

ListMetrics doesn't return information about metrics if those metrics haven't reported data in the past two weeks. To retrieve those metrics, use GetMetricData or GetMetricStatistics.

", "ListTagsForResource": "

Displays the tags associated with a CloudWatch resource. Currently, alarms and Contributor Insights rules support tagging.

", "PutAnomalyDetector": "

Creates an anomaly detection model for a CloudWatch metric. You can use the model to display a band of expected normal values when the metric is graphed.

For more information, see CloudWatch Anomaly Detection.

", - "PutCompositeAlarm": "

Creates or updates a composite alarm. When you create a composite alarm, you specify a rule expression for the alarm that takes into account the alarm states of other alarms that you have created. The composite alarm goes into ALARM state only if all conditions of the rule are met.

The alarms specified in a composite alarm's rule expression can include metric alarms and other composite alarms.

Using composite alarms can reduce alarm noise. You can create multiple metric alarms, and also create a composite alarm and set up alerts only for the composite alarm. For example, you could create a composite alarm that goes into ALARM state only when more than one of the underlying metric alarms are in ALARM state.

Currently, the only alarm actions that can be taken by composite alarms are notifying SNS topics.

It is possible to create a loop or cycle of composite alarms, where composite alarm A depends on composite alarm B, and composite alarm B also depends on composite alarm A. In this scenario, you can't delete any composite alarm that is part of the cycle because there is always still a composite alarm that depends on that alarm that you want to delete.

To get out of such a situation, you must break the cycle by changing the rule of one of the composite alarms in the cycle to remove a dependency that creates the cycle. The simplest change to make to break a cycle is to change the AlarmRule of one of the alarms to False.

Additionally, the evaluation of composite alarms stops if CloudWatch detects a cycle in the evaluation path.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. For a composite alarm, this initial time after creation is the only time that the alarm can be in INSUFFICIENT_DATA state.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

", + "PutCompositeAlarm": "

Creates or updates a composite alarm. When you create a composite alarm, you specify a rule expression for the alarm that takes into account the alarm states of other alarms that you have created. The composite alarm goes into ALARM state only if all conditions of the rule are met.

The alarms specified in a composite alarm's rule expression can include metric alarms and other composite alarms.

Using composite alarms can reduce alarm noise. You can create multiple metric alarms, and also create a composite alarm and set up alerts only for the composite alarm. For example, you could create a composite alarm that goes into ALARM state only when more than one of the underlying metric alarms are in ALARM state.

Currently, the only alarm actions that can be taken by composite alarms are notifying SNS topics.

It is possible to create a loop or cycle of composite alarms, where composite alarm A depends on composite alarm B, and composite alarm B also depends on composite alarm A. In this scenario, you can't delete any composite alarm that is part of the cycle because there is always still a composite alarm that depends on that alarm that you want to delete.

To get out of such a situation, you must break the cycle by changing the rule of one of the composite alarms in the cycle to remove a dependency that creates the cycle. The simplest change to make to break a cycle is to change the AlarmRule of one of the alarms to False.

Additionally, the evaluation of composite alarms stops if CloudWatch detects a cycle in the evaluation path.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. For a composite alarm, this initial time after creation is the only time that the alarm can be in INSUFFICIENT_DATA state.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have iam:CreateServiceLinkedRole to create a composite alarm that has Systems Manager OpsItem actions.

", "PutDashboard": "

Creates a dashboard if it does not already exist, or updates an existing dashboard. If you update a dashboard, the entire contents are replaced with what you specify here.

All dashboards in your account are global, not region-specific.

A simple way to create a dashboard using PutDashboard is to copy an existing dashboard. To copy an existing dashboard using the console, you can load the dashboard and then use the View/edit source command in the Actions menu to display the JSON block for that dashboard. Another way to copy a dashboard is to use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard.

When you create a dashboard with PutDashboard, a good practice is to add a text widget at the top of the dashboard with a message that the dashboard was created by script and should not be changed in the console. This message could also point console users to the location of the DashboardBody script or the CloudFormation template used to create the dashboard.

", "PutInsightRule": "

Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch Logs log group, enabling you to find contributor data for the log events in that log group. For more information, see Using Contributor Insights to Analyze High-Cardinality Data.

If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created might not be available.

", - "PutMetricAlarm": "

Creates or updates an alarm and associates it with the specified metric, metric math expression, or anomaly detection model.

Alarms based on anomaly detection models cannot have Auto Scaling actions.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some alarm operations:

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed.

If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions.

The first time you create an alarm in the AWS Management Console, the CLI, or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. For more information, see AWS service-linked role.

", + "PutMetricAlarm": "

Creates or updates an alarm and associates it with the specified metric, metric math expression, or anomaly detection model.

Alarms based on anomaly detection models cannot have Auto Scaling actions.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some alarm operations:

The first time you create an alarm in the AWS Management Console, the CLI, or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked rolea for you. The service-linked roles are called AWSServiceRoleForCloudWatchEvents and AWSServiceRoleForCloudWatchAlarms_ActionSSM. For more information, see AWS service-linked role.

", "PutMetricData": "

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricDatum structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 20 different metrics.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

You specify the time stamp to be associated with each data point. You can specify time stamps that are as much as two weeks before the current date, and as much as 2 hours after the current day and time.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted. Data points with time stamps between 3 and 24 hours ago can take as much as 2 hours to become available for for GetMetricData or GetMetricStatistics.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

", "SetAlarmState": "

Temporarily sets the state of an alarm for testing purposes. When the updated state differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm state to ALARM sends an SNS message.

Metric alarms returns to their actual state quickly, often within seconds. Because the metric alarm state change happens quickly, it is typically only visible in the alarm's History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.

If you use SetAlarmState on a composite alarm, the composite alarm is not guaranteed to return to its actual state. It returns to its actual state only once any of its children alarms change state. It is also reevaluated if you update its configuration.

If an alarm triggers EC2 Auto Scaling policies or application Auto Scaling policies, you must include information in the StateReasonData parameter to enable the policy to take the correct action.

", "TagResource": "

Assigns one or more tags (key-value pairs) to the specified CloudWatch resource. Currently, the only CloudWatch resources that can be tagged are alarms and Contributor Insights rules.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with an alarm that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a CloudWatch resource.

", @@ -1205,11 +1205,11 @@ "MetricAlarm$OKActions": "

The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

", "MetricAlarm$AlarmActions": "

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

", "MetricAlarm$InsufficientDataActions": "

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

", - "PutCompositeAlarmInput$AlarmActions": "

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:sns:region:account-id:sns-topic-name

", + "PutCompositeAlarmInput$AlarmActions": "

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:sns:region:account-id:sns-topic-name | arn:aws:ssm:region:account-id:opsitem:severity

", "PutCompositeAlarmInput$InsufficientDataActions": "

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:sns:region:account-id:sns-topic-name

", "PutCompositeAlarmInput$OKActions": "

The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:sns:region:account-id:sns-topic-name

", "PutMetricAlarmInput$OKActions": "

The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

", - "PutMetricAlarmInput$AlarmActions": "

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

", + "PutMetricAlarmInput$AlarmActions": "

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name | arn:aws:ssm:region:account-id:opsitem:severity

Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

", "PutMetricAlarmInput$InsufficientDataActions": "

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" } }, @@ -1360,7 +1360,7 @@ "ListTagsForResourceOutput$Tags": "

The list of tag keys and values associated with the resource you specified.

", "PutCompositeAlarmInput$Tags": "

A list of key-value pairs to associate with the composite alarm. You can associate as many as 50 tags with an alarm.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

", "PutInsightRuleInput$Tags": "

A list of key-value pairs to associate with the Contributor Insights rule. You can associate as many as 50 tags with a rule.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only the resources that have certain tag values.

To be able to associate tags with a rule, you must have the cloudwatch:TagResource permission in addition to the cloudwatch:PutInsightRule permission.

If you are using this operation to update an existing Contributor Insights rule, any tags you specify in this parameter are ignored. To change the tags of an existing rule, use TagResource.

", - "PutMetricAlarmInput$Tags": "

A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

", + "PutMetricAlarmInput$Tags": "

A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

If you are using this operation to update an existing alarm, any tags you specify in this parameter are ignored. To change the tags of an existing alarm, use TagResource or UntagResource.

", "TagResourceInput$Tags": "

The list of key-value pairs to associate with the alarm.

" } }, diff --git a/models/apis/pi/2018-02-27/docs-2.json b/models/apis/pi/2018-02-27/docs-2.json index a1d3ef4052..9327f30faf 100644 --- a/models/apis/pi/2018-02-27/docs-2.json +++ b/models/apis/pi/2018-02-27/docs-2.json @@ -1,9 +1,9 @@ { "version": "2.0", - "service": "

AWS Performance Insights enables you to monitor and explore different dimensions of database load based on data captured from a running RDS instance. The guide provides detailed information about Performance Insights data types, parameters and errors. For more information about Performance Insights capabilities see Using Amazon RDS Performance Insights in the Amazon RDS User Guide.

The AWS Performance Insights API provides visibility into the performance of your RDS instance, when Performance Insights is enabled for supported engine types. While Amazon CloudWatch provides the authoritative source for AWS service vended monitoring metrics, AWS Performance Insights offers a domain-specific view of database load measured as Average Active Sessions and provided to API consumers as a 2-dimensional time-series dataset. The time dimension of the data provides DB load data for each time point in the queried time range, and each time point decomposes overall load in relation to the requested dimensions, such as SQL, Wait-event, User or Host, measured at that time point.

", + "service": "Amazon RDS Performance Insights

Amazon RDS Performance Insights enables you to monitor and explore different dimensions of database load based on data captured from a running DB instance. The guide provides detailed information about Performance Insights data types, parameters and errors.

When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. Amazon CloudWatch provides the authoritative source for AWS service-vended monitoring metrics. Performance Insights offers a domain-specific view of DB load.

DB load is measured as Average Active Sessions. Performance Insights provides the data to API consumers as a two-dimensional time-series dataset. The time dimension provides DB load data for each time point in the queried time range. Each time point decomposes overall load in relation to the requested dimensions, measured at that time point. Examples include SQL, Wait event, User, and Host.

", "operations": { - "DescribeDimensionKeys": "

For a specific time period, retrieve the top N dimension keys for a metric.

", - "GetResourceMetrics": "

Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide specific dimension groups and dimensions, and provide aggregation and filtering criteria for each group.

" + "DescribeDimensionKeys": "

For a specific time period, retrieve the top N dimension keys for a metric.

Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, only the first 500 bytes are returned.

", + "GetResourceMetrics": "

Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide specific dimension groups and dimensions, and provide aggregation and filtering criteria for each group.

Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, only the first 500 bytes are returned.

" }, "shapes": { "DataPoint": { @@ -29,9 +29,9 @@ } }, "DimensionGroup": { - "base": "

A logical grouping of Performance Insights metrics for a related subject area. For example, the db.sql dimension group consists of the following dimensions: db.sql.id, db.sql.db_id, db.sql.statement, and db.sql.tokenized_id.

", + "base": "

A logical grouping of Performance Insights metrics for a related subject area. For example, the db.sql dimension group consists of the following dimensions: db.sql.id, db.sql.db_id, db.sql.statement, and db.sql.tokenized_id.

Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, only the first 500 bytes are returned.

", "refs": { - "DescribeDimensionKeysRequest$GroupBy": "

A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.

", + "DescribeDimensionKeysRequest$GroupBy": "

A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights returns all dimensions within this group, unless you provide the names of specific dimensions within this group. You can also request that Performance Insights return a limited number of values for a dimension.

", "DescribeDimensionKeysRequest$PartitionBy": "

For each dimension specified in GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.

", "MetricQuery$GroupBy": "

A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.

" } @@ -78,12 +78,12 @@ "base": null, "refs": { "DataPoint$Timestamp": "

The time, in epoch format, associated with a particular Value.

", - "DescribeDimensionKeysRequest$StartTime": "

The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned.

The value for StartTime must be earlier than the value for EndTime.

", - "DescribeDimensionKeysRequest$EndTime": "

The date and time specifying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned.

The value for EndTime must be later than the value for StartTime.

", + "DescribeDimensionKeysRequest$StartTime": "

The date and time specifying the beginning of the requested time series data. You must specify a StartTime within the past 7 days. The value specified is inclusive, which means that data points equal to or greater than StartTime are returned.

The value for StartTime must be earlier than the value for EndTime.

", + "DescribeDimensionKeysRequest$EndTime": "

The date and time specifying the end of the requested time series data. The value specified is exclusive, which means that data points less than (but not equal to) EndTime are returned.

The value for EndTime must be later than the value for StartTime.

", "DescribeDimensionKeysResponse$AlignedStartTime": "

The start time for the returned dimension keys, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedStartTime will be less than or equal to the value of the user-specified StartTime.

", "DescribeDimensionKeysResponse$AlignedEndTime": "

The end time for the returned dimension keys, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedEndTime will be greater than or equal to the value of the user-specified Endtime.

", "GetResourceMetricsRequest$StartTime": "

The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned.

The value for StartTime must be earlier than the value for EndTime.

", - "GetResourceMetricsRequest$EndTime": "

The date and time specifiying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned.

The value for EndTime must be later than the value for StartTime.

", + "GetResourceMetricsRequest$EndTime": "

The date and time specifying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned.

The value for EndTime must be later than the value for StartTime.

", "GetResourceMetricsResponse$AlignedStartTime": "

The start time for the returned metrics, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedStartTime will be less than or equal to the value of the user-specified StartTime.

", "GetResourceMetricsResponse$AlignedEndTime": "

The end time for the returned metrics, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedEndTime will be greater than or equal to the value of the user-specified Endtime.

" } @@ -91,7 +91,7 @@ "Integer": { "base": null, "refs": { - "DescribeDimensionKeysRequest$PeriodInSeconds": "

The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are:

If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.

", + "DescribeDimensionKeysRequest$PeriodInSeconds": "

The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are:

If you don't specify PeriodInSeconds, then Performance Insights chooses a value for you, with a goal of returning roughly 100-200 data points in the response.

", "GetResourceMetricsRequest$PeriodInSeconds": "

The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are:

If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.

" } }, @@ -119,7 +119,7 @@ } }, "MetricKeyDataPoints": { - "base": "

A time-ordered series of data points, correpsonding to a dimension of a Performance Insights metric.

", + "base": "

A time-ordered series of data points, corresponding to a dimension of a Performance Insights metric.

", "refs": { "MetricKeyDataPointsList$member": null } @@ -181,38 +181,38 @@ "ServiceType": { "base": null, "refs": { - "DescribeDimensionKeysRequest$ServiceType": "

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

", - "GetResourceMetricsRequest$ServiceType": "

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

" + "DescribeDimensionKeysRequest$ServiceType": "

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is RDS.

", + "GetResourceMetricsRequest$ServiceType": "

The AWS service for which Performance Insights returns metrics. The only valid value for ServiceType is RDS.

" } }, "String": { "base": null, "refs": { - "DescribeDimensionKeysRequest$Identifier": "

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

", - "DescribeDimensionKeysRequest$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

", + "DescribeDimensionKeysRequest$Identifier": "

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value. For example, specify db-FAIHNTYBKTGAUSUZQYPDS2GW4A

", + "DescribeDimensionKeysRequest$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", "DescribeDimensionKeysRequest$NextToken": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

", "DescribeDimensionKeysResponse$NextToken": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

", - "DimensionGroup$Group": "

The name of the dimension group. Valid values are:

", + "DimensionGroup$Group": "

The name of the dimension group. Valid values are:

", "DimensionMap$key": null, "DimensionMap$value": null, - "GetResourceMetricsRequest$Identifier": "

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

", + "GetResourceMetricsRequest$Identifier": "

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use a DB instance as a data source, specify its DbiResourceId value. For example, specify db-FAIHNTYBKTGAUSUZQYPDS2GW4A.

", "GetResourceMetricsRequest$NextToken": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

", - "GetResourceMetricsResponse$Identifier": "

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

", + "GetResourceMetricsResponse$Identifier": "

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use a DB instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

", "GetResourceMetricsResponse$NextToken": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

", "InternalServiceError$Message": null, "InvalidArgumentException$Message": null, - "MetricQuery$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

", + "MetricQuery$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", "MetricQueryFilterMap$key": null, "MetricQueryFilterMap$value": null, "NotAuthorizedException$Message": null, - "ResponseResourceMetricKey$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

", + "ResponseResourceMetricKey$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", "StringList$member": null } }, "StringList": { "base": null, "refs": { - "DimensionGroup$Dimensions": "

A list of specific dimensions from a dimension group. If this parameter is not present, then it signifies that all of the dimensions in the group were requested, or are present in the response.

Valid values for elements in the Dimensions array are:

" + "DimensionGroup$Dimensions": "

A list of specific dimensions from a dimension group. If this parameter is not present, then it signifies that all of the dimensions in the group were requested, or are present in the response.

Valid values for elements in the Dimensions array are:

" } } } diff --git a/service/autoscaling/api.go b/service/autoscaling/api.go index b9257cfcc2..e049b13a5e 100644 --- a/service/autoscaling/api.go +++ b/service/autoscaling/api.go @@ -6511,7 +6511,7 @@ type CreateAutoScalingGroupInput struct { // // Conditional: If your account supports EC2-Classic and VPC, this parameter // is required to launch instances into EC2-Classic. - AvailabilityZones []*string `min:"1" type:"list"` + AvailabilityZones []*string `type:"list"` // Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing // is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling @@ -6707,9 +6707,6 @@ func (s *CreateAutoScalingGroupInput) Validate() error { if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } - if s.AvailabilityZones != nil && len(s.AvailabilityZones) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AvailabilityZones", 1)) - } if s.HealthCheckType != nil && len(*s.HealthCheckType) < 1 { invalidParams.Add(request.NewErrParamMinLen("HealthCheckType", 1)) } @@ -10354,7 +10351,7 @@ type Group struct { // One or more Availability Zones for the group. // // AvailabilityZones is a required field - AvailabilityZones []*string `min:"1" type:"list" required:"true"` + AvailabilityZones []*string `type:"list" required:"true"` // Indicates whether Capacity Rebalancing is enabled. CapacityRebalance *bool `type:"boolean"` @@ -11712,7 +11709,7 @@ type LifecycleHook struct { // The ARN of the target that Amazon EC2 Auto Scaling sends notifications to // when an instance is in the transition state for the lifecycle hook. The notification // target can be either an SQS queue or an SNS topic. - NotificationTargetARN *string `min:"1" type:"string"` + NotificationTargetARN *string `type:"string"` // The ARN of the IAM role that allows the Auto Scaling group to publish to // the specified notification target. @@ -14540,7 +14537,7 @@ type UpdateAutoScalingGroupInput struct { AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more Availability Zones for the group. - AvailabilityZones []*string `min:"1" type:"list"` + AvailabilityZones []*string `type:"list"` // Enables or disables Capacity Rebalancing. For more information, see Amazon // EC2 Auto Scaling Capacity Rebalancing (https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html) @@ -14663,9 +14660,6 @@ func (s *UpdateAutoScalingGroupInput) Validate() error { if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } - if s.AvailabilityZones != nil && len(s.AvailabilityZones) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AvailabilityZones", 1)) - } if s.HealthCheckType != nil && len(*s.HealthCheckType) < 1 { invalidParams.Add(request.NewErrParamMinLen("HealthCheckType", 1)) } diff --git a/service/cloudtrail/api.go b/service/cloudtrail/api.go index 530b9ee5aa..69a3d78103 100644 --- a/service/cloudtrail/api.go +++ b/service/cloudtrail/api.go @@ -314,6 +314,11 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R // creating an organization trail. For more information, see Prepare For Creating // a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html). // +// * CloudTrailInvalidClientTokenIdException +// This exception is thrown when a call results in the InvalidClientTokenId +// error code. This can occur when you are creating or updating a trail to send +// notifications to an Amazon SNS topic that is in a suspended AWS account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CreateTrail func (c *CloudTrail) CreateTrail(input *CreateTrailInput) (*CreateTrailOutput, error) { req, out := c.CreateTrailRequest(input) @@ -1689,15 +1694,16 @@ func (c *CloudTrail) PutEventSelectorsRequest(input *PutEventSelectorsInput) (re // PutEventSelectors API operation for AWS CloudTrail. // -// Configures an event selector for your trail. Use event selectors to further -// specify the management and data event settings for your trail. By default, -// trails created without specific event selectors will be configured to log -// all read and write management events, and no data events. +// Configures an event selector or advanced event selectors for your trail. +// Use event selectors or advanced event selectors to specify management and +// data event settings for your trail. By default, trails created without specific +// event selectors are configured to log all read and write management events, +// and no data events. // // When an event occurs in your account, CloudTrail evaluates the event selectors -// in all trails. For each trail, if the event matches any event selector, the -// trail processes and logs the event. If the event doesn't match any event -// selector, the trail doesn't log the event. +// or advanced event selectors in all trails. For each trail, if the event matches +// any event selector, the trail processes and logs the event. If the event +// doesn't match any event selector, the trail doesn't log the event. // // Example // @@ -1711,15 +1717,24 @@ func (c *CloudTrail) PutEventSelectorsRequest(input *PutEventSelectorsInput) (re // The RunInstances is a write-only event and it matches your event selector. // The trail logs the event. // -// The GetConsoleOutput is a read-only event but it doesn't match your event -// selector. The trail doesn't log the event. +// The GetConsoleOutput is a read-only event that doesn't match your event selector. +// The trail doesn't log the event. // // The PutEventSelectors operation must be called from the region in which the -// trail was created; otherwise, an InvalidHomeRegionException is thrown. +// trail was created; otherwise, an InvalidHomeRegionException exception is +// thrown. // // You can configure up to five event selectors for each trail. For more information, -// see Logging Data and Management Events for Trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) -// and Limits in AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) +// see Logging data and management events for trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) +// and Quotas in AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) +// in the AWS CloudTrail User Guide. +// +// You can add advanced event selectors, and conditions for your advanced event +// selectors, up to a maximum of 500 values for all conditions and selectors +// on a trail. You can use either AdvancedEventSelectors or EventSelectors, +// but not both. If you apply AdvancedEventSelectors to a trail, any existing +// EventSelectors are overwritten. For more information about advanced event +// selectors, see Logging data events for trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) // in the AWS CloudTrail User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1755,11 +1770,13 @@ func (c *CloudTrail) PutEventSelectorsRequest(input *PutEventSelectorsInput) (re // // * InvalidEventSelectorsException // This exception is thrown when the PutEventSelectors operation is called with -// a number of event selectors or data resources that is not valid. The combination -// of event selectors and data resources is not valid. A trail can have up to -// 5 event selectors. A trail is limited to 250 data resources. These data resources -// can be distributed across event selectors, but the overall total cannot exceed -// 250. +// a number of event selectors, advanced event selectors, or data resources +// that is not valid. The combination of event selectors or advanced event selectors +// and data resources is not valid. A trail can have up to 5 event selectors. +// If a trail uses advanced event selectors, a maximum of 500 total values for +// all conditions in all advanced event selectors is allowed. A trail is limited +// to 250 data resources. These data resources can be distributed across event +// selectors, but the overall total cannot exceed 250. // // You can: // @@ -1771,6 +1788,9 @@ func (c *CloudTrail) PutEventSelectorsRequest(input *PutEventSelectorsInput) (re // of data resources does not exceed 250 across all event selectors for a // trail. // +// * Specify up to 500 values for all conditions in all advanced event selectors +// for a trail. +// // * Specify a valid value for a parameter. For example, specifying the ReadWriteType // parameter with a value of read-only is invalid. // @@ -2416,11 +2436,13 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // // * InvalidEventSelectorsException // This exception is thrown when the PutEventSelectors operation is called with -// a number of event selectors or data resources that is not valid. The combination -// of event selectors and data resources is not valid. A trail can have up to -// 5 event selectors. A trail is limited to 250 data resources. These data resources -// can be distributed across event selectors, but the overall total cannot exceed -// 250. +// a number of event selectors, advanced event selectors, or data resources +// that is not valid. The combination of event selectors or advanced event selectors +// and data resources is not valid. A trail can have up to 5 event selectors. +// If a trail uses advanced event selectors, a maximum of 500 total values for +// all conditions in all advanced event selectors is allowed. A trail is limited +// to 250 data resources. These data resources can be distributed across event +// selectors, but the overall total cannot exceed 250. // // You can: // @@ -2432,6 +2454,9 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // of data resources does not exceed 250 across all event selectors for a // trail. // +// * Specify up to 500 values for all conditions in all advanced event selectors +// for a trail. +// // * Specify a valid value for a parameter. For example, specifying the ReadWriteType // parameter with a value of read-only is invalid. // @@ -2499,6 +2524,11 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // creating an organization trail. For more information, see Prepare For Creating // a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html). // +// * CloudTrailInvalidClientTokenIdException +// This exception is thrown when a call results in the InvalidClientTokenId +// error code. This can occur when you are creating or updating a trail to send +// notifications to an Amazon SNS topic that is in a suspended AWS account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/UpdateTrail func (c *CloudTrail) UpdateTrail(input *UpdateTrailInput) (*UpdateTrailOutput, error) { req, out := c.UpdateTrailRequest(input) @@ -2716,14 +2746,36 @@ func (s AddTagsOutput) GoString() string { return s.String() } +// Advanced event selectors let you create fine-grained selectors for the following +// AWS CloudTrail event record fields. They help you control costs by logging +// only those events that are important to you. For more information about advanced +// event selectors, see Logging data events for trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) +// in the AWS CloudTrail User Guide. +// +// * readOnly +// +// * eventSource +// +// * eventName +// +// * eventCategory +// +// * resources.type +// +// * resources.ARN +// +// You cannot apply both event selectors and advanced event selectors to a trail. type AdvancedEventSelector struct { _ struct{} `type:"structure"` + // Contains all selector statements in an advanced event selector. + // // FieldSelectors is a required field FieldSelectors []*AdvancedFieldSelector `min:"1" type:"list" required:"true"` - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // An optional, descriptive name for an advanced event selector, such as "Log + // data events for only two S3 buckets". + Name *string `type:"string"` } // String returns the string representation @@ -2745,12 +2797,6 @@ func (s *AdvancedEventSelector) Validate() error { if s.FieldSelectors != nil && len(s.FieldSelectors) < 1 { invalidParams.Add(request.NewErrParamMinLen("FieldSelectors", 1)) } - 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.FieldSelectors != nil { for i, v := range s.FieldSelectors { if v == nil { @@ -2780,22 +2826,68 @@ func (s *AdvancedEventSelector) SetName(v string) *AdvancedEventSelector { return s } +// A single selector statement in an advanced event selector. type AdvancedFieldSelector struct { _ struct{} `type:"structure"` + // An operator that includes events that match the last few characters of the + // event record field specified as the value of Field. EndsWith []*string `min:"1" type:"list"` + // An operator that includes events that match the exact value of the event + // record field specified as the value of Field. This is the only valid operator + // that you can use with the readOnly, eventCategory, and resources.type fields. Equals []*string `min:"1" type:"list"` + // A field in an event record on which to filter events to be logged. Supported + // fields include readOnly, eventCategory, eventSource (for management events), + // eventName, resources.type, and resources.ARN. + // + // * readOnly - Optional. Can be set to Equals a value of true or false. + // A value of false logs both read and write events. + // + // * eventSource - For filtering management events only. This can be set + // only to NotEquals kms.amazonaws.com. + // + // * eventName - Can use any operator. You can use it to filter in or filter + // out any data event logged to CloudTrail, such as PutBucket. You can have + // multiple values for this field, separated by commas. + // + // * eventCategory - This is required. It must be set to Equals, and the + // value must be Management or Data. + // + // * resources.type - This field is required. resources.type can only use + // the Equals operator, and the value can be one of the following: AWS::S3::Object + // or AWS::Lambda::Function. You can have only one resources.type field + // per selector. To log data events on more than one resource type, add another + // selector. + // + // * resources.ARN - You can use any operator with resources.ARN, but if + // you use Equals or NotEquals, the value must exactly match the ARN of a + // valid resource of the type you've specified in the template as the value + // of resources.type. For example, if resources.type equals AWS::S3::Object, + // the ARN must be in one of the following formats. The trailing slash is + // intentional; do not exclude it. arn:partition:s3:::bucket_name/ arn:partition:s3:::bucket_name/object_or_file_name/ + // When resources.type equals AWS::Lambda::Function, and the operator is + // set to Equals or NotEquals, the ARN must be in the following format: arn:partition:lambda:region:account_ID:function:function_name + // // Field is a required field Field *string `min:"1" type:"string" required:"true"` + // An operator that excludes events that match the last few characters of the + // event record field specified as the value of Field. NotEndsWith []*string `min:"1" type:"list"` + // An operator that excludes events that match the exact value of the event + // record field specified as the value of Field. NotEquals []*string `min:"1" type:"list"` + // An operator that excludes events that match the first few characters of the + // event record field specified as the value of Field. NotStartsWith []*string `min:"1" type:"list"` + // An operator that includes events that match the first few characters of the + // event record field specified as the value of Field. StartsWith []*string `min:"1" type:"list"` } @@ -2885,6 +2977,64 @@ func (s *AdvancedFieldSelector) SetStartsWith(v []*string) *AdvancedFieldSelecto return s } +// This exception is thrown when a call results in the InvalidClientTokenId +// error code. This can occur when you are creating or updating a trail to send +// notifications to an Amazon SNS topic that is in a suspended AWS account. +type CloudTrailInvalidClientTokenIdException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s CloudTrailInvalidClientTokenIdException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudTrailInvalidClientTokenIdException) GoString() string { + return s.String() +} + +func newErrorCloudTrailInvalidClientTokenIdException(v protocol.ResponseMetadata) error { + return &CloudTrailInvalidClientTokenIdException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CloudTrailInvalidClientTokenIdException) Code() string { + return "CloudTrailInvalidClientTokenIdException" +} + +// Message returns the exception's message. +func (s *CloudTrailInvalidClientTokenIdException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CloudTrailInvalidClientTokenIdException) OrigErr() error { + return nil +} + +func (s *CloudTrailInvalidClientTokenIdException) 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 *CloudTrailInvalidClientTokenIdException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CloudTrailInvalidClientTokenIdException) RequestID() string { + return s.RespMetadata.RequestID +} + // Cannot set a CloudWatch Logs delivery for this region. type CloudWatchLogsDeliveryUnavailableException struct { _ struct{} `type:"structure"` @@ -3303,6 +3453,10 @@ func (s *CreateTrailOutput) SetTrailARN(v string) *CreateTrailOutput { // between 1 and 5 event selectors, but the total cannot exceed 250 across all // selectors. // +// If you are using advanced event selectors, the maximum total number of values +// for all conditions, across all advanced event selectors for the trail, is +// 500. +// // The following example demonstrates how logging works when you configure logging // of all data events for an S3 bucket named bucket-1. In this example, the // CloudTrail user specified an empty prefix, and the option to log both Read @@ -3646,6 +3800,8 @@ func (s *Event) SetUsername(v string) *Event { // selector, the trail doesn't log the event. // // You can configure up to five event selectors for a trail. +// +// You cannot apply both event selectors and advanced event selectors to a trail. type EventSelector struct { _ struct{} `type:"structure"` @@ -3782,6 +3938,7 @@ func (s *GetEventSelectorsInput) SetTrailName(v string) *GetEventSelectorsInput type GetEventSelectorsOutput struct { _ struct{} `type:"structure"` + // The advanced event selectors that are configured for the trail. AdvancedEventSelectors []*AdvancedEventSelector `type:"list"` // The event selectors that are configured for the trail. @@ -4688,11 +4845,13 @@ func (s *InvalidEventCategoryException) RequestID() string { } // This exception is thrown when the PutEventSelectors operation is called with -// a number of event selectors or data resources that is not valid. The combination -// of event selectors and data resources is not valid. A trail can have up to -// 5 event selectors. A trail is limited to 250 data resources. These data resources -// can be distributed across event selectors, but the overall total cannot exceed -// 250. +// a number of event selectors, advanced event selectors, or data resources +// that is not valid. The combination of event selectors or advanced event selectors +// and data resources is not valid. A trail can have up to 5 event selectors. +// If a trail uses advanced event selectors, a maximum of 500 total values for +// all conditions in all advanced event selectors is allowed. A trail is limited +// to 250 data resources. These data resources can be distributed across event +// selectors, but the overall total cannot exceed 250. // // You can: // @@ -4704,6 +4863,9 @@ func (s *InvalidEventCategoryException) RequestID() string { // of data resources does not exceed 250 across all event selectors for a // trail. // +// * Specify up to 500 values for all conditions in all advanced event selectors +// for a trail. +// // * Specify a valid value for a parameter. For example, specifying the ReadWriteType // parameter with a value of read-only is invalid. type InvalidEventSelectorsException struct { @@ -6508,10 +6670,20 @@ func (s *PublicKey) SetValue(v []byte) *PublicKey { type PutEventSelectorsInput struct { _ struct{} `type:"structure"` + // Specifies the settings for advanced event selectors. You can add advanced + // event selectors, and conditions for your advanced event selectors, up to + // a maximum of 500 values for all conditions and selectors on a trail. You + // can use either AdvancedEventSelectors or EventSelectors, but not both. If + // you apply AdvancedEventSelectors to a trail, any existing EventSelectors + // are overwritten. For more information about advanced event selectors, see + // Logging data events for trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) + // in the AWS CloudTrail User Guide. AdvancedEventSelectors []*AdvancedEventSelector `type:"list"` // Specifies the settings for your event selectors. You can configure up to - // five event selectors for a trail. + // five event selectors for a trail. You can use either EventSelectors or AdvancedEventSelectors + // in a PutEventSelectors request, but not both. If you apply EventSelectors + // to a trail, any existing AdvancedEventSelectors are overwritten. EventSelectors []*EventSelector `type:"list"` // Specifies the name of the trail or trail ARN. If you specify a trail name, @@ -6591,6 +6763,7 @@ func (s *PutEventSelectorsInput) SetTrailName(v string) *PutEventSelectorsInput type PutEventSelectorsOutput struct { _ struct{} `type:"structure"` + // Specifies the advanced event selectors configured for your trail. AdvancedEventSelectors []*AdvancedEventSelector `type:"list"` // Specifies the event selectors configured for your trail. diff --git a/service/cloudtrail/errors.go b/service/cloudtrail/errors.go index 34b3cb2864..1872ad7259 100644 --- a/service/cloudtrail/errors.go +++ b/service/cloudtrail/errors.go @@ -26,6 +26,14 @@ const ( // and Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html). ErrCodeAccessNotEnabledException = "CloudTrailAccessNotEnabledException" + // ErrCodeCloudTrailInvalidClientTokenIdException for service response error code + // "CloudTrailInvalidClientTokenIdException". + // + // This exception is thrown when a call results in the InvalidClientTokenId + // error code. This can occur when you are creating or updating a trail to send + // notifications to an Amazon SNS topic that is in a suspended AWS account. + ErrCodeCloudTrailInvalidClientTokenIdException = "CloudTrailInvalidClientTokenIdException" + // ErrCodeCloudWatchLogsDeliveryUnavailableException for service response error code // "CloudWatchLogsDeliveryUnavailableException". // @@ -90,11 +98,13 @@ const ( // "InvalidEventSelectorsException". // // This exception is thrown when the PutEventSelectors operation is called with - // a number of event selectors or data resources that is not valid. The combination - // of event selectors and data resources is not valid. A trail can have up to - // 5 event selectors. A trail is limited to 250 data resources. These data resources - // can be distributed across event selectors, but the overall total cannot exceed - // 250. + // a number of event selectors, advanced event selectors, or data resources + // that is not valid. The combination of event selectors or advanced event selectors + // and data resources is not valid. A trail can have up to 5 event selectors. + // If a trail uses advanced event selectors, a maximum of 500 total values for + // all conditions in all advanced event selectors is allowed. A trail is limited + // to 250 data resources. These data resources can be distributed across event + // selectors, but the overall total cannot exceed 250. // // You can: // @@ -106,6 +116,9 @@ const ( // of data resources does not exceed 250 across all event selectors for a // trail. // + // * Specify up to 500 values for all conditions in all advanced event selectors + // for a trail. + // // * Specify a valid value for a parameter. For example, specifying the ReadWriteType // parameter with a value of read-only is invalid. ErrCodeInvalidEventSelectorsException = "InvalidEventSelectorsException" @@ -327,6 +340,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "CloudTrailARNInvalidException": newErrorARNInvalidException, "CloudTrailAccessNotEnabledException": newErrorAccessNotEnabledException, + "CloudTrailInvalidClientTokenIdException": newErrorCloudTrailInvalidClientTokenIdException, "CloudWatchLogsDeliveryUnavailableException": newErrorCloudWatchLogsDeliveryUnavailableException, "InsightNotEnabledException": newErrorInsightNotEnabledException, "InsufficientDependencyServiceAccessPermissionException": newErrorInsufficientDependencyServiceAccessPermissionException, diff --git a/service/cloudwatch/api.go b/service/cloudwatch/api.go index ae1dc7b939..b13b59c8d5 100644 --- a/service/cloudwatch/api.go +++ b/service/cloudwatch/api.go @@ -565,7 +565,7 @@ func (c *CloudWatch) DescribeAlarmsRequest(input *DescribeAlarmsInput) (req *req // DescribeAlarms API operation for Amazon CloudWatch. // // Retrieves the specified alarms. You can filter the results by specifying -// a a prefix for the alarm name, the alarm state, or a prefix for any action. +// a prefix for the alarm name, the alarm state, or a prefix for any action. // // 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 @@ -2453,6 +2453,9 @@ func (c *CloudWatch) PutCompositeAlarmRequest(input *PutCompositeAlarmInput) (re // When you update an existing alarm, its state is left unchanged, but the update // completely overwrites the previous configuration of the alarm. // +// If you are an IAM user, you must have iam:CreateServiceLinkedRole to create +// a composite alarm that has Systems Manager OpsItem actions. +// // 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. @@ -2737,34 +2740,16 @@ func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *req // If you are an IAM user, you must have Amazon EC2 permissions for some alarm // operations: // -// * iam:CreateServiceLinkedRole for all alarms with EC2 actions -// -// * ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms -// on EC2 instance status metrics -// -// * ec2:StopInstances for alarms with stop actions -// -// * ec2:TerminateInstances for alarms with terminate actions -// -// * No specific permissions are needed for alarms with recover actions +// * The iam:CreateServiceLinkedRole for all alarms with EC2 actions // -// If you have read/write permissions for Amazon CloudWatch but not for Amazon -// EC2, you can still create an alarm, but the stop or terminate actions are -// not performed. However, if you are later granted the required permissions, -// the alarm actions that you created earlier are performed. -// -// If you are using an IAM role (for example, an EC2 instance profile), you -// cannot stop or terminate the instance using alarm actions. However, you can -// still see the alarm state and perform any other actions such as Amazon SNS -// notifications or Auto Scaling policies. -// -// If you are using temporary security credentials granted using AWS STS, you -// cannot stop or terminate an EC2 instance using alarm actions. +// * The iam:CreateServiceLinkedRole to create an alarm with Systems Manager +// OpsItem actions. // // The first time you create an alarm in the AWS Management Console, the CLI, // or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked -// role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. -// For more information, see AWS service-linked role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). +// rolea for you. The service-linked roles are called AWSServiceRoleForCloudWatchEvents +// and AWSServiceRoleForCloudWatchAlarms_ActionSSM. For more information, see +// AWS service-linked role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). // // 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 @@ -7538,7 +7523,7 @@ type PutCompositeAlarmInput struct { // The actions to execute when this alarm transitions to the ALARM state from // any other state. Each action is specified as an Amazon Resource Name (ARN). // - // Valid Values: arn:aws:sns:region:account-id:sns-topic-name + // Valid Values: arn:aws:sns:region:account-id:sns-topic-name | arn:aws:ssm:region:account-id:opsitem:severity AlarmActions []*string `type:"list"` // The description for the composite alarm. @@ -7950,6 +7935,7 @@ type PutMetricAlarmInput struct { // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot // | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name + // | arn:aws:ssm:region:account-id:opsitem:severity // // Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 @@ -8097,6 +8083,11 @@ type PutMetricAlarmInput struct { // Tags can help you organize and categorize your resources. You can also use // them to scope user permissions by granting a user permission to access or // change only resources with certain tag values. + // + // If you are using this operation to update an existing alarm, any tags you + // specify in this parameter are ignored. To change the tags of an existing + // alarm, use TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html) + // or UntagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_UntagResource.html). Tags []*Tag `type:"list"` // The value against which the specified statistic is compared. diff --git a/service/guardduty/api.go b/service/guardduty/api.go index 8dfeb33e1d..52a130b977 100644 --- a/service/guardduty/api.go +++ b/service/guardduty/api.go @@ -58,7 +58,7 @@ func (c *GuardDuty) AcceptInvitationRequest(input *AcceptInvitationInput) (req * // AcceptInvitation API operation for Amazon GuardDuty. // -// Accepts the invitation to be monitored by a master GuardDuty account. +// Accepts the invitation to be monitored by a GuardDuty administrator account. // // 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 @@ -143,8 +143,8 @@ func (c *GuardDuty) ArchiveFindingsRequest(input *ArchiveFindingsInput) (req *re // // Archives GuardDuty findings that are specified by the list of finding IDs. // -// Only the master account can archive findings. Member accounts don't have -// permission to archive findings from their accounts. +// Only the administrator account can archive findings. Member accounts don't +// have permission to archive findings from their accounts. // // 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 @@ -398,7 +398,7 @@ func (c *GuardDuty) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Re // interface. An IPSet is a list of IP addresses that are trusted for secure // communication with AWS infrastructure and applications. GuardDuty doesn't // generate findings for IP addresses that are included in IPSets. Only users -// from the master account can use this operation. +// from the administrator account can use this operation. // // 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 @@ -486,8 +486,8 @@ func (c *GuardDuty) CreateMembersRequest(input *CreateMembersInput) (req *reques // // When using Create Members as an organizations delegated administrator this // action will enable GuardDuty in the added member accounts, with the exception -// of the organization master account, which must enable GuardDuty prior to -// being added as a member. +// of the organization delegated administrator account, which must enable GuardDuty +// prior to being added as a member. // // If you are adding accounts by invitation use this action after GuardDuty // has been enabled in potential member accounts and before using Invite Members @@ -743,7 +743,7 @@ func (c *GuardDuty) CreateThreatIntelSetRequest(input *CreateThreatIntelSetInput // // Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious // IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only -// users of the master account can use this operation. +// users of the administrator account can use this operation. // // 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 @@ -1241,8 +1241,8 @@ func (c *GuardDuty) DeleteMembersRequest(input *DeleteMembersInput) (req *reques // DeleteMembers API operation for Amazon GuardDuty. // -// Deletes GuardDuty member accounts (to the current GuardDuty master account) -// specified by the account IDs. +// Deletes GuardDuty member accounts (to the current GuardDuty administrator +// account) specified by the account IDs. // // 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 @@ -1741,7 +1741,8 @@ func (c *GuardDuty) DisassociateFromMasterAccountRequest(input *DisassociateFrom // DisassociateFromMasterAccount API operation for Amazon GuardDuty. // -// Disassociates the current GuardDuty member account from its master account. +// Disassociates the current GuardDuty member account from its administrator +// account. // // 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 @@ -1823,7 +1824,7 @@ func (c *GuardDuty) DisassociateMembersRequest(input *DisassociateMembersInput) // DisassociateMembers API operation for Amazon GuardDuty. // -// Disassociates GuardDuty member accounts (to the current GuardDuty master +// Disassociates GuardDuty member accounts (to the current GuardDuty administrator // account) specified by the account IDs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2483,8 +2484,8 @@ func (c *GuardDuty) GetMasterAccountRequest(input *GetMasterAccountInput) (req * // GetMasterAccount API operation for Amazon GuardDuty. // -// Provides the details for the GuardDuty master account associated with the -// current GuardDuty member account. +// Provides the details for the GuardDuty administrator account associated with +// the current GuardDuty member account. // // 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 @@ -2648,8 +2649,8 @@ func (c *GuardDuty) GetMembersRequest(input *GetMembersInput) (req *request.Requ // GetMembers API operation for Amazon GuardDuty. // -// Retrieves GuardDuty member accounts (to the current GuardDuty master account) -// specified by the account IDs. +// Retrieves GuardDuty member accounts (of the current GuardDuty administrator +// account) specified by the account IDs. // // 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 @@ -2960,8 +2961,8 @@ func (c *GuardDuty) InviteMembersRequest(input *InviteMembersInput) (req *reques // // Invites other AWS accounts (created as members of the current AWS account // by CreateMembers) to enable GuardDuty, and allow the current AWS account -// to view and manage these accounts' GuardDuty findings on their behalf as -// the master account. +// to view and manage these accounts' findings on their behalf as the GuardDuty +// administrator account. // // 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 @@ -3471,7 +3472,7 @@ func (c *GuardDuty) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Requ // // Lists the IPSets of the GuardDuty service specified by the detector ID. If // you use this operation from a member account, the IPSets returned are the -// IPSets from the associated master account. +// IPSets from the associated administrator account. // // 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 @@ -3752,7 +3753,7 @@ func (c *GuardDuty) ListMembersRequest(input *ListMembersInput) (req *request.Re // ListMembers API operation for Amazon GuardDuty. // -// Lists details about all member accounts for the current GuardDuty master +// Lists details about all member accounts for the current GuardDuty administrator // account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4260,7 +4261,7 @@ func (c *GuardDuty) ListThreatIntelSetsRequest(input *ListThreatIntelSetsInput) // // Lists the ThreatIntelSets of the GuardDuty service specified by the detector // ID. If you use this operation from a member account, the ThreatIntelSets -// associated with the master account are returned. +// associated with the administrator account are 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 @@ -5436,12 +5437,14 @@ type AcceptInvitationInput struct { // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // The value that is used to validate the master account to the member account. + // The value that is used to validate the administrator account to the member + // account. // // InvitationId is a required field InvitationId *string `locationName:"invitationId" type:"string" required:"true"` - // The account ID of the master GuardDuty account whose invitation you're accepting. + // The account ID of the GuardDuty administrator account whose invitation you're + // accepting. // // MasterId is a required field MasterId *string `locationName:"masterId" type:"string" required:"true"` @@ -6341,7 +6344,7 @@ type CreateDetectorInput struct { // The idempotency token for the create request. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // An object that describes which data sources will be enabled for the detector. + // Describes which data sources will be enabled for the detector. DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` // A Boolean value that specifies whether the detector is to be enabled. @@ -6349,7 +6352,7 @@ type CreateDetectorInput struct { // Enable is a required field Enable *bool `locationName:"enable" type:"boolean" required:"true"` - // An enum value that specifies how frequently updated findings are exported. + // A value that specifies how frequently updated findings are exported. FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"` // The tags to be added to a new detector resource. @@ -6453,8 +6456,8 @@ type CreateFilterInput struct { // The description of the filter. Description *string `locationName:"description" type:"string"` - // The unique ID of the detector of the GuardDuty account that you want to create - // a filter for. + // The ID of the detector belonging to the GuardDuty account that you want to + // create a filter for. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` @@ -6515,6 +6518,8 @@ type CreateFilterInput struct { // // * service.action.awsApiCallAction.callerType // + // * service.action.awsApiCallAction.errorCode + // // * service.action.awsApiCallAction.remoteIpDetails.city.cityName // // * service.action.awsApiCallAction.remoteIpDetails.country.countryName @@ -6569,7 +6574,9 @@ type CreateFilterInput struct { // FindingCriteria is a required field FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"` - // The name of the filter. + // The name of the filter. Minimum length of 3. Maximum length of 64. Valid + // characters include alphanumeric characters, dot (.), underscore (_), and + // dash (-). Spaces are not allowed. // // Name is a required field Name *string `locationName:"name" min:"3" type:"string" required:"true"` @@ -6860,7 +6867,7 @@ type CreateMembersInput struct { _ struct{} `type:"structure"` // A list of account ID and email address pairs of the accounts that you want - // to associate with the master GuardDuty account. + // to associate with the GuardDuty administrator account. // // AccountDetails is a required field AccountDetails []*AccountDetail `locationName:"accountDetails" min:"1" type:"list" required:"true"` @@ -8057,12 +8064,11 @@ type DescribeOrganizationConfigurationOutput struct { // AutoEnable is a required field AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` - // An object that describes which data sources are enabled automatically for - // member accounts. + // Describes which data sources are enabled automatically for member accounts. DataSources *OrganizationDataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` // Indicates whether the maximum number of allowed member accounts are already - // associated with the delegated administrator master account. + // associated with the delegated administrator account for your organization. // // MemberAccountLimitReached is a required field MemberAccountLimitReached *bool `locationName:"memberAccountLimitReached" type:"boolean" required:"true"` @@ -8423,13 +8429,13 @@ type DisassociateMembersInput struct { _ struct{} `type:"structure"` // A list of account IDs of the GuardDuty member accounts that you want to disassociate - // from the master account. + // from the administrator account. // // AccountIds is a required field AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` // The unique ID of the detector of the GuardDuty account whose members you - // want to disassociate from the master account. + // want to disassociate from the administrator account. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` @@ -8957,7 +8963,7 @@ type GetDetectorOutput struct { // The timestamp of when the detector was created. CreatedAt *string `locationName:"createdAt" type:"string"` - // An object that describes which data sources are enabled for the detector. + // Describes which data sources are enabled for the detector. DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` // The publishing frequency of the finding. @@ -9552,7 +9558,7 @@ func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput { type GetMasterAccountOutput struct { _ struct{} `type:"structure"` - // The master account details. + // The administrator account details. // // Master is a required field Master *Master `locationName:"master" type:"structure" required:"true"` @@ -9582,7 +9588,7 @@ type GetMemberDetectorsInput struct { // AccountIds is a required field AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // The detector ID for the master account. + // The detector ID for the administrator account. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` @@ -11167,8 +11173,7 @@ func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganiz type ListOrganizationAdminAccountsOutput struct { _ struct{} `type:"structure"` - // An AdminAccounts object that includes a list of accounts configured as GuardDuty - // delegated administrators. + // A list of accounts configured as GuardDuty delegated administrators. AdminAccounts []*AdminAccount `locationName:"adminAccounts" type:"list"` // The pagination parameter to be used on the next list operation to retrieve @@ -11523,20 +11528,20 @@ func (s *LocalPortDetails) SetPortName(v string) *LocalPortDetails { return s } -// Contains information about the master account and invitation. +// Contains information about the administrator account and invitation. type Master struct { _ struct{} `type:"structure"` - // The ID of the account used as the master account. + // The ID of the account used as the administrator account. AccountId *string `locationName:"accountId" min:"12" type:"string"` - // The value used to validate the master account to the member account. + // The value used to validate the administrator account to the member account. InvitationId *string `locationName:"invitationId" type:"string"` // The timestamp when the invitation was sent. InvitedAt *string `locationName:"invitedAt" type:"string"` - // The status of the relationship between the master and member accounts. + // The status of the relationship between the administrator and member accounts. RelationshipStatus *string `locationName:"relationshipStatus" type:"string"` } @@ -11594,12 +11599,12 @@ type Member struct { // The timestamp when the invitation was sent. InvitedAt *string `locationName:"invitedAt" type:"string"` - // The master account ID. + // The administrator account ID. // // MasterId is a required field MasterId *string `locationName:"masterId" type:"string" required:"true"` - // The status of the relationship between the member and the master. + // The status of the relationship between the member and the administrator. // // RelationshipStatus is a required field RelationshipStatus *string `locationName:"relationshipStatus" type:"string" required:"true"` @@ -12787,7 +12792,7 @@ type StartMonitoringMembersInput struct { // AccountIds is a required field AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // The unique ID of the detector of the GuardDuty master account associated + // The unique ID of the detector of the GuardDuty administrator account associated // with the member accounts to monitor. // // DetectorId is a required field @@ -12872,8 +12877,8 @@ type StopMonitoringMembersInput struct { // AccountIds is a required field AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // The unique ID of the detector associated with the GuardDuty master account - // that is monitoring member accounts. + // The unique ID of the detector associated with the GuardDuty administrator + // account that is monitoring member accounts. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` @@ -13305,7 +13310,7 @@ func (s UntagResourceOutput) GoString() string { type UpdateDetectorInput struct { _ struct{} `type:"structure"` - // An object that describes which data sources will be updated. + // Describes which data sources will be updated. DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` // The unique ID of the detector to update. @@ -13724,10 +13729,10 @@ type UpdateMemberDetectorsInput struct { // AccountIds is a required field AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // An object describes which data sources will be updated. + // Describes which data sources will be updated. DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` - // The detector ID of the master account. + // The detector ID of the administrator account. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` @@ -13822,7 +13827,7 @@ type UpdateOrganizationConfigurationInput struct { // AutoEnable is a required field AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` - // An object describes which data sources will be updated. + // Describes which data sources will be updated. DataSources *OrganizationDataSourceConfigurations `locationName:"dataSources" type:"structure"` // The ID of the detector to update the delegated administrator for. @@ -13992,8 +13997,7 @@ type UpdateThreatIntelSetInput struct { // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // The updated URI of the file that contains the ThreateIntelSet. For example: - // https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. + // The updated URI of the file that contains the ThreateIntelSet. Location *string `locationName:"location" min:"1" type:"string"` // The unique ID that specifies the ThreatIntelSet that you want to update. diff --git a/service/iotsitewise/api.go b/service/iotsitewise/api.go index 5276377b72..25f3e08310 100644 --- a/service/iotsitewise/api.go +++ b/service/iotsitewise/api.go @@ -385,9 +385,9 @@ func (c *IoTSiteWise) BatchPutAssetPropertyValueRequest(input *BatchPutAssetProp // To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). // // With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs that -// have a timestamp of no more than 15 minutes in the past and no more than -// 5 minutes in the future. AWS IoT SiteWise rejects timestamps outside of the -// inclusive range of [-15, +5] minutes and returns a TimestampOutOfRangeException +// have a timestamp of no more than 7 days in the past and no more than 5 minutes +// in the future. AWS IoT SiteWise rejects timestamps outside of the inclusive +// range of [-7 days, +5 minutes] and returns a TimestampOutOfRangeException // error. // // For each asset property, AWS IoT SiteWise overwrites TQVs with duplicate @@ -1120,103 +1120,6 @@ func (c *IoTSiteWise) CreatePortalWithContext(ctx aws.Context, input *CreatePort return out, req.Send() } -const opCreatePresignedPortalUrl = "CreatePresignedPortalUrl" - -// CreatePresignedPortalUrlRequest generates a "aws/request.Request" representing the -// client's request for the CreatePresignedPortalUrl 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 CreatePresignedPortalUrl for more information on using the CreatePresignedPortalUrl -// 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 CreatePresignedPortalUrlRequest method. -// req, resp := client.CreatePresignedPortalUrlRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePresignedPortalUrl -func (c *IoTSiteWise) CreatePresignedPortalUrlRequest(input *CreatePresignedPortalUrlInput) (req *request.Request, output *CreatePresignedPortalUrlOutput) { - op := &request.Operation{ - Name: opCreatePresignedPortalUrl, - HTTPMethod: "GET", - HTTPPath: "/portals/{portalId}/presigned-url", - } - - if input == nil { - input = &CreatePresignedPortalUrlInput{} - } - - output = &CreatePresignedPortalUrlOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) - req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) - return -} - -// CreatePresignedPortalUrl API operation for AWS IoT SiteWise. -// -// Creates a pre-signed URL to a portal. Use this operation to create URLs to -// portals that use AWS Identity and Access Management (IAM) to authenticate -// users. An IAM user with access to a portal can call this API to get a URL -// to that portal. The URL contains an authentication token that lets the IAM -// user access the portal. -// -// 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 SiteWise's -// API operation CreatePresignedPortalUrl for usage and error information. -// -// Returned Error Types: -// * InvalidRequestException -// The request isn't valid. This can occur if your request contains malformed -// JSON or unsupported characters. Check your request and try again. -// -// * InternalFailureException -// AWS IoT SiteWise can't process your request right now. Try again later. -// -// * ThrottlingException -// Your request exceeded a rate limit. For example, you might have exceeded -// the number of AWS IoT SiteWise assets that can be created per second, the -// allowed number of messages per second, and so on. -// -// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) -// in the AWS IoT SiteWise User Guide. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePresignedPortalUrl -func (c *IoTSiteWise) CreatePresignedPortalUrl(input *CreatePresignedPortalUrlInput) (*CreatePresignedPortalUrlOutput, error) { - req, out := c.CreatePresignedPortalUrlRequest(input) - return out, req.Send() -} - -// CreatePresignedPortalUrlWithContext is the same as CreatePresignedPortalUrl with the addition of -// the ability to pass a context and additional request options. -// -// See CreatePresignedPortalUrl 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 *IoTSiteWise) CreatePresignedPortalUrlWithContext(ctx aws.Context, input *CreatePresignedPortalUrlInput, opts ...request.Option) (*CreatePresignedPortalUrlOutput, error) { - req, out := c.CreatePresignedPortalUrlRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - const opCreateProject = "CreateProject" // CreateProjectRequest generates a "aws/request.Request" representing the @@ -3936,6 +3839,162 @@ func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *Li return p.Err() } +const opListAssetRelationships = "ListAssetRelationships" + +// ListAssetRelationshipsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssetRelationships 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 ListAssetRelationships for more information on using the ListAssetRelationships +// 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 ListAssetRelationshipsRequest method. +// req, resp := client.ListAssetRelationshipsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships +func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationshipsInput) (req *request.Request, output *ListAssetRelationshipsOutput) { + op := &request.Operation{ + Name: opListAssetRelationships, + HTTPMethod: "GET", + HTTPPath: "/assets/{assetId}/assetRelationships", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAssetRelationshipsInput{} + } + + output = &ListAssetRelationshipsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ListAssetRelationships API operation for AWS IoT SiteWise. +// +// Retrieves a paginated list of asset relationships for an asset. You can use +// this operation to identify an asset's root asset and all associated assets +// between that asset and its root. +// +// 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 SiteWise's +// API operation ListAssetRelationships for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// * InternalFailureException +// AWS IoT SiteWise can't process your request right now. Try again later. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of AWS IoT SiteWise assets that can be created per second, the +// allowed number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the AWS IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships +func (c *IoTSiteWise) ListAssetRelationships(input *ListAssetRelationshipsInput) (*ListAssetRelationshipsOutput, error) { + req, out := c.ListAssetRelationshipsRequest(input) + return out, req.Send() +} + +// ListAssetRelationshipsWithContext is the same as ListAssetRelationships with the addition of +// the ability to pass a context and additional request options. +// +// See ListAssetRelationships 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 *IoTSiteWise) ListAssetRelationshipsWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, opts ...request.Option) (*ListAssetRelationshipsOutput, error) { + req, out := c.ListAssetRelationshipsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAssetRelationshipsPages iterates over the pages of a ListAssetRelationships operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssetRelationships method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAssetRelationships operation. +// pageNum := 0 +// err := client.ListAssetRelationshipsPages(params, +// func(page *iotsitewise.ListAssetRelationshipsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTSiteWise) ListAssetRelationshipsPages(input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool) error { + return c.ListAssetRelationshipsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssetRelationshipsPagesWithContext same as ListAssetRelationshipsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *IoTSiteWise) ListAssetRelationshipsPagesWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssetRelationshipsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssetRelationshipsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAssetRelationshipsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAssets = "ListAssets" // ListAssetsRequest generates a "aws/request.Request" representing the @@ -5091,6 +5150,21 @@ func (c *IoTSiteWise) ListTagsForResourceRequest(input *ListTagsForResourceInput // * ResourceNotFoundException // The requested resource can't be found. // +// * ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// * LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the AWS IoT SiteWise User Guide. +// +// * UnauthorizedException +// You are not authorized. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource func (c *IoTSiteWise) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) @@ -5393,6 +5467,21 @@ func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request. // * ResourceNotFoundException // The requested resource can't be found. // +// * ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// * LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the AWS IoT SiteWise User Guide. +// +// * UnauthorizedException +// You are not authorized. +// // * TooManyTagsException // You've reached the limit for the number of tags allowed for a resource. For // more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions) @@ -5493,6 +5582,21 @@ func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *requ // * ResourceNotFoundException // The requested resource can't be found. // +// * ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// * LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the AWS IoT SiteWise User Guide. +// +// * UnauthorizedException +// You are not authorized. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource func (c *IoTSiteWise) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) @@ -6652,6 +6756,65 @@ func (s *Aggregates) SetSum(v float64) *Aggregates { 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 { + _ struct{} `type:"structure"` + + // The description of the composite model. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the composite model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The asset properties that this composite model defines. + // + // Properties is a required field + Properties []*AssetProperty `locationName:"properties" type:"list" required:"true"` + + // The type of the composite model. For alarm composite models, this type is + // AWS/ALARM. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssetCompositeModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetCompositeModel) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *AssetCompositeModel) SetDescription(v string) *AssetCompositeModel { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetCompositeModel) SetName(v string) *AssetCompositeModel { + s.Name = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *AssetCompositeModel) SetProperties(v []*AssetProperty) *AssetCompositeModel { + s.Properties = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetCompositeModel) SetType(v string) *AssetCompositeModel { + s.Type = &v + return s +} + // Contains error details for the requested associate project asset action. type AssetErrorDetails struct { _ struct{} `type:"structure"` @@ -6737,6 +6900,225 @@ func (s *AssetHierarchy) SetName(v string) *AssetHierarchy { return s } +// Contains information about a parent asset and a child asset that are related +// through an asset hierarchy. +type AssetHierarchyInfo struct { + _ struct{} `type:"structure"` + + // The ID of the child asset in this asset relationship. + ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string"` + + // The ID of the parent asset in this asset relationship. + ParentAssetId *string `locationName:"parentAssetId" min:"36" type:"string"` +} + +// String returns the string representation +func (s AssetHierarchyInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetHierarchyInfo) GoString() string { + return s.String() +} + +// SetChildAssetId sets the ChildAssetId field's value. +func (s *AssetHierarchyInfo) SetChildAssetId(v string) *AssetHierarchyInfo { + s.ChildAssetId = &v + return s +} + +// SetParentAssetId sets the ParentAssetId field's value. +func (s *AssetHierarchyInfo) SetParentAssetId(v string) *AssetHierarchyInfo { + s.ParentAssetId = &v + return s +} + +// Contains information about a composite model in an asset model. This object +// contains the asset property definitions that you define in the composite +// model. +type AssetModelCompositeModel struct { + _ struct{} `type:"structure"` + + // The description of the composite model. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the composite model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The asset property definitions for this composite model. + Properties []*AssetModelProperty `locationName:"properties" type:"list"` + + // The type of the composite model. For alarm composite models, this type is + // AWS/ALARM. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssetModelCompositeModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetModelCompositeModel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelCompositeModel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModel"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + 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.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } + if s.Properties != nil { + for i, v := range s.Properties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *AssetModelCompositeModel) SetDescription(v string) *AssetModelCompositeModel { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelCompositeModel) SetName(v string) *AssetModelCompositeModel { + s.Name = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *AssetModelCompositeModel) SetProperties(v []*AssetModelProperty) *AssetModelCompositeModel { + s.Properties = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetModelCompositeModel) SetType(v string) *AssetModelCompositeModel { + s.Type = &v + return s +} + +// Contains a composite model definition in an asset model. This composite model +// definition is applied to all assets created from the asset model. +type AssetModelCompositeModelDefinition struct { + _ struct{} `type:"structure"` + + // The description of the composite model. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the composite model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The asset property definitions for this composite model. + Properties []*AssetModelPropertyDefinition `locationName:"properties" type:"list"` + + // The type of the composite model. For alarm composite models, this type is + // AWS/ALARM. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssetModelCompositeModelDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetModelCompositeModelDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelCompositeModelDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModelDefinition"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + 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.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } + if s.Properties != nil { + for i, v := range s.Properties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *AssetModelCompositeModelDefinition) SetDescription(v string) *AssetModelCompositeModelDefinition { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelCompositeModelDefinition) SetName(v string) *AssetModelCompositeModelDefinition { + s.Name = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *AssetModelCompositeModelDefinition) SetProperties(v []*AssetModelPropertyDefinition) *AssetModelCompositeModelDefinition { + s.Properties = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetModelCompositeModelDefinition) SetType(v string) *AssetModelCompositeModelDefinition { + s.Type = &v + return s +} + // Describes an asset hierarchy that contains a hierarchy's name, ID, and child // asset model ID that specifies the type of asset that can be in this hierarchy. type AssetModelHierarchy struct { @@ -6886,6 +7268,10 @@ type AssetModelProperty struct { // DataType is a required field DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` + // The data type of the structure for this property. This parameter exists on + // properties that have the STRUCT data type. + DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + // The ID of the asset model property. Id *string `locationName:"id" min:"36" type:"string"` @@ -6919,6 +7305,9 @@ func (s *AssetModelProperty) Validate() error { if s.DataType == nil { invalidParams.Add(request.NewErrParamRequired("DataType")) } + if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1)) + } if s.Id != nil && len(*s.Id) < 36 { invalidParams.Add(request.NewErrParamMinLen("Id", 36)) } @@ -6952,6 +7341,12 @@ func (s *AssetModelProperty) SetDataType(v string) *AssetModelProperty { return s } +// SetDataTypeSpec sets the DataTypeSpec field's value. +func (s *AssetModelProperty) SetDataTypeSpec(v string) *AssetModelProperty { + s.DataTypeSpec = &v + return s +} + // SetId sets the Id field's value. func (s *AssetModelProperty) SetId(v string) *AssetModelProperty { s.Id = &v @@ -6983,9 +7378,20 @@ type AssetModelPropertyDefinition struct { // The data type of the property definition. // + // If you specify STRUCT, you must also specify dataTypeSpec to identify the + // type of the structure for this property. + // // DataType is a required field DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` + // The data type of the structure for this property. This parameter is required + // on properties that have the STRUCT data type. + // + // The options for this parameter depend on the type of the composite model + // in which you define this property. Use AWS/ALARM_STATE for alarm state in + // alarm composite models. + DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + // The name of the property definition. // // Name is a required field @@ -7017,6 +7423,9 @@ func (s *AssetModelPropertyDefinition) Validate() error { if s.DataType == nil { invalidParams.Add(request.NewErrParamRequired("DataType")) } + if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -7047,6 +7456,12 @@ func (s *AssetModelPropertyDefinition) SetDataType(v string) *AssetModelProperty return s } +// SetDataTypeSpec sets the DataTypeSpec field's value. +func (s *AssetModelPropertyDefinition) SetDataTypeSpec(v string) *AssetModelPropertyDefinition { + s.DataTypeSpec = &v + return s +} + // SetName sets the Name field's value. func (s *AssetModelPropertyDefinition) SetName(v string) *AssetModelPropertyDefinition { s.Name = &v @@ -7213,6 +7628,10 @@ type AssetProperty struct { // DataType is a required field DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` + // The data type of the structure for this property. This parameter exists on + // properties that have the STRUCT data type. + DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + // The ID of the asset property. // // Id is a required field @@ -7253,6 +7672,12 @@ func (s *AssetProperty) SetDataType(v string) *AssetProperty { return s } +// SetDataTypeSpec sets the DataTypeSpec field's value. +func (s *AssetProperty) SetDataTypeSpec(v string) *AssetProperty { + s.DataTypeSpec = &v + return s +} + // SetId sets the Id field's value. func (s *AssetProperty) SetId(v string) *AssetProperty { s.Id = &v @@ -7319,11 +7744,6 @@ func (s *AssetPropertyValue) Validate() error { invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams)) } } - if s.Value != nil { - if err := s.Value.Validate(); err != nil { - invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -7349,6 +7769,48 @@ func (s *AssetPropertyValue) SetValue(v *Variant) *AssetPropertyValue { return s } +// Contains information about assets that are related to one another. +type AssetRelationshipSummary struct { + _ struct{} `type:"structure"` + + // The assets that are related through an asset hierarchy. + // + // This object is present if the relationshipType is HIERARCHY. + HierarchyInfo *AssetHierarchyInfo `locationName:"hierarchyInfo" type:"structure"` + + // The relationship type of the assets in this relationship. This value is one + // of the following: + // + // * HIERARCHY – The assets are related through an asset hierarchy. If + // you specify this relationship type, this asset relationship includes the + // hierarchyInfo object. + // + // RelationshipType is a required field + RelationshipType *string `locationName:"relationshipType" type:"string" required:"true" enum:"AssetRelationshipType"` +} + +// String returns the string representation +func (s AssetRelationshipSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetRelationshipSummary) GoString() string { + return s.String() +} + +// SetHierarchyInfo sets the HierarchyInfo field's value. +func (s *AssetRelationshipSummary) SetHierarchyInfo(v *AssetHierarchyInfo) *AssetRelationshipSummary { + s.HierarchyInfo = v + return s +} + +// SetRelationshipType sets the RelationshipType field's value. +func (s *AssetRelationshipSummary) SetRelationshipType(v string) *AssetRelationshipSummary { + s.RelationshipType = &v + return s +} + // Contains information about the current status of an asset. For more information, // see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) // in the AWS IoT SiteWise User Guide. @@ -8101,12 +8563,65 @@ func (s *BatchPutAssetPropertyValueOutput) SetErrorEntries(v []*BatchPutAssetPro return s } +// Contains information about a composite model property on an asset. +type CompositeModelProperty struct { + _ struct{} `type:"structure"` + + // Contains asset property information. + // + // AssetProperty is a required field + AssetProperty *Property `locationName:"assetProperty" type:"structure" required:"true"` + + // The name of the property. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The type of the composite model that defines this property. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CompositeModelProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CompositeModelProperty) GoString() string { + return s.String() +} + +// SetAssetProperty sets the AssetProperty field's value. +func (s *CompositeModelProperty) SetAssetProperty(v *Property) *CompositeModelProperty { + s.AssetProperty = v + return s +} + +// SetName sets the Name field's value. +func (s *CompositeModelProperty) SetName(v string) *CompositeModelProperty { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *CompositeModelProperty) SetType(v string) *CompositeModelProperty { + s.Type = &v + return s +} + +// Contains the details of an AWS IoT SiteWise configuration error. type ConfigurationErrorDetails struct { _ struct{} `type:"structure"` + // The error code. + // // Code is a required field Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"` + // The error message. + // // Message is a required field Message *string `locationName:"message" type:"string" required:"true"` } @@ -8133,11 +8648,15 @@ func (s *ConfigurationErrorDetails) SetMessage(v string) *ConfigurationErrorDeta return s } +// Contains current status information for the configuration. type ConfigurationStatus struct { _ struct{} `type:"structure"` + // Contains associated error information, if any. Error *ConfigurationErrorDetails `locationName:"error" type:"structure"` + // The current state of the configuration. + // // State is a required field State *string `locationName:"state" type:"string" required:"true" enum:"ConfigurationState"` } @@ -8466,6 +8985,12 @@ func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput { type CreateAssetModelInput struct { _ struct{} `type:"structure"` + // The composite asset models that are part of this asset model. Composite asset + // models are asset models that contain specific properties. Each composite + // model has a type that defines the properties that the composite model supports. + // Use composite asset models to define alarms on this asset model. + AssetModelCompositeModels []*AssetModelCompositeModelDefinition `locationName:"assetModelCompositeModels" type:"list"` + // A description for the asset model. AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"` @@ -8532,6 +9057,16 @@ func (s *CreateAssetModelInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.AssetModelCompositeModels != nil { + for i, v := range s.AssetModelCompositeModels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams)) + } + } + } if s.AssetModelHierarchies != nil { for i, v := range s.AssetModelHierarchies { if v == nil { @@ -8559,6 +9094,12 @@ func (s *CreateAssetModelInput) Validate() error { return nil } +// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value. +func (s *CreateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModelDefinition) *CreateAssetModelInput { + s.AssetModelCompositeModels = v + return s +} + // SetAssetModelDescription sets the AssetModelDescription field's value. func (s *CreateAssetModelInput) SetAssetModelDescription(v string) *CreateAssetModelInput { s.AssetModelDescription = &v @@ -8985,9 +9526,8 @@ type CreatePortalInput struct { // Regions other than the China Regions. // // * IAM – The portal uses AWS Identity and Access Management (IAM) to - // authenticate users and manage user permissions. IAM users must have the - // iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. - // This option is only available in the China Regions. + // authenticate users and manage user permissions. This option is only available + // in the China Regions. // // You can't change this value after you create a portal. // @@ -9144,9 +9684,8 @@ type CreatePortalOutput struct { // The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to // access portals that use AWS SSO for authentication. For portals that use - // IAM for authentication, you must use the CreatePresignedPortalUrl (https://docs.aws.amazon.com/AWS - // IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html) operation to - // create a URL that you can use to access the portal. + // IAM for authentication, you must use the AWS IoT SiteWise console to get + // a URL that you can use to access the portal. // // PortalStartUrl is a required field PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"` @@ -9203,89 +9742,6 @@ func (s *CreatePortalOutput) SetSsoApplicationId(v string) *CreatePortalOutput { return s } -type CreatePresignedPortalUrlInput struct { - _ struct{} `type:"structure"` - - // The ID of the portal to access. - // - // PortalId is a required field - PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"` - - // The duration (in seconds) for which the session at the URL is valid. - // - // Default: 43,200 seconds (12 hours) - SessionDurationSeconds *int64 `location:"querystring" locationName:"sessionDurationSeconds" min:"900" type:"integer"` -} - -// String returns the string representation -func (s CreatePresignedPortalUrlInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreatePresignedPortalUrlInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePresignedPortalUrlInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePresignedPortalUrlInput"} - if s.PortalId == nil { - invalidParams.Add(request.NewErrParamRequired("PortalId")) - } - if s.PortalId != nil && len(*s.PortalId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PortalId", 36)) - } - if s.SessionDurationSeconds != nil && *s.SessionDurationSeconds < 900 { - invalidParams.Add(request.NewErrParamMinValue("SessionDurationSeconds", 900)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetPortalId sets the PortalId field's value. -func (s *CreatePresignedPortalUrlInput) SetPortalId(v string) *CreatePresignedPortalUrlInput { - s.PortalId = &v - return s -} - -// SetSessionDurationSeconds sets the SessionDurationSeconds field's value. -func (s *CreatePresignedPortalUrlInput) SetSessionDurationSeconds(v int64) *CreatePresignedPortalUrlInput { - s.SessionDurationSeconds = &v - return s -} - -type CreatePresignedPortalUrlOutput struct { - _ struct{} `type:"structure"` - - // The pre-signed URL to the portal. The URL contains the portal ID and an authentication - // token that lets you access the portal. The URL has the following format. - // - // https://.app.iotsitewise.aws/iam?token= - // - // PresignedPortalUrl is a required field - PresignedPortalUrl *string `locationName:"presignedPortalUrl" min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s CreatePresignedPortalUrlOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreatePresignedPortalUrlOutput) GoString() string { - return s.String() -} - -// SetPresignedPortalUrl sets the PresignedPortalUrl field's value. -func (s *CreatePresignedPortalUrlOutput) SetPresignedPortalUrl(v string) *CreatePresignedPortalUrlOutput { - s.PresignedPortalUrl = &v - return s -} - type CreateProjectInput struct { _ struct{} `type:"structure"` @@ -10223,6 +10679,9 @@ type DescribeAssetModelOutput struct { // AssetModelArn is a required field AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"` + // The list of composite asset models for the asset model. + AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"` + // The date the asset model was created, in Unix epoch time. // // AssetModelCreationDate is a required field @@ -10257,6 +10716,10 @@ type DescribeAssetModelOutput struct { // The list of asset properties for the asset model. // + // This object doesn't include properties that you define in composite models. + // You can find composite model properties in the assetModelCompositeModels + // object. + // // AssetModelProperties is a required field AssetModelProperties []*AssetModelProperty `locationName:"assetModelProperties" type:"list" required:"true"` @@ -10283,6 +10746,12 @@ func (s *DescribeAssetModelOutput) SetAssetModelArn(v string) *DescribeAssetMode return s } +// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value. +func (s *DescribeAssetModelOutput) SetAssetModelCompositeModels(v []*AssetModelCompositeModel) *DescribeAssetModelOutput { + s.AssetModelCompositeModels = v + return s +} + // SetAssetModelCreationDate sets the AssetModelCreationDate field's value. func (s *DescribeAssetModelOutput) SetAssetModelCreationDate(v time.Time) *DescribeAssetModelOutput { s.AssetModelCreationDate = &v @@ -10342,6 +10811,9 @@ type DescribeAssetOutput struct { // AssetArn is a required field AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"` + // The composite models for the asset. + AssetCompositeModels []*AssetCompositeModel `locationName:"assetCompositeModels" type:"list"` + // The date the asset was created, in Unix epoch time. // // AssetCreationDate is a required field @@ -10375,6 +10847,9 @@ type DescribeAssetOutput struct { // The list of asset properties for the asset. // + // This object doesn't include properties that you define in composite models. + // You can find composite model properties in the assetCompositeModels object. + // // AssetProperties is a required field AssetProperties []*AssetProperty `locationName:"assetProperties" type:"list" required:"true"` @@ -10400,6 +10875,12 @@ func (s *DescribeAssetOutput) SetAssetArn(v string) *DescribeAssetOutput { return s } +// SetAssetCompositeModels sets the AssetCompositeModels field's value. +func (s *DescribeAssetOutput) SetAssetCompositeModels(v []*AssetCompositeModel) *DescribeAssetOutput { + s.AssetCompositeModels = v + return s +} + // SetAssetCreationDate sets the AssetCreationDate field's value. func (s *DescribeAssetOutput) SetAssetCreationDate(v time.Time) *DescribeAssetOutput { s.AssetCreationDate = &v @@ -10526,8 +11007,14 @@ type DescribeAssetPropertyOutput struct { // The asset property's definition, alias, and notification state. // - // AssetProperty is a required field - AssetProperty *Property `locationName:"assetProperty" type:"structure" required:"true"` + // This response includes this object for normal asset properties. If you describe + // an asset property in a composite model, this response includes the asset + // property information in compositeModel. + AssetProperty *Property `locationName:"assetProperty" type:"structure"` + + // The composite asset model that declares this asset property, if this asset + // property exists in a composite model. + CompositeModel *CompositeModelProperty `locationName:"compositeModel" type:"structure"` } // String returns the string representation @@ -10564,6 +11051,12 @@ func (s *DescribeAssetPropertyOutput) SetAssetProperty(v *Property) *DescribeAss return s } +// SetCompositeModel sets the CompositeModel field's value. +func (s *DescribeAssetPropertyOutput) SetCompositeModel(v *CompositeModelProperty) *DescribeAssetPropertyOutput { + s.CompositeModel = v + return s +} + type DescribeDashboardInput struct { _ struct{} `type:"structure"` @@ -11169,9 +11662,8 @@ type DescribePortalOutput struct { // The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to // access portals that use AWS SSO for authentication. For portals that use - // IAM for authentication, you must use the CreatePresignedPortalUrl (https://docs.aws.amazon.com/AWS - // IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html) operation to - // create a URL that you can use to access the portal. + // IAM for authentication, you must use the AWS IoT SiteWise console to get + // a URL that you can use to access the portal. // // PortalStartUrl is a required field PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"` @@ -12341,8 +12833,7 @@ func (s *GroupIdentity) SetId(v string) *GroupIdentity { type IAMUserIdentity struct { _ struct{} `type:"structure"` - // The ARN of the IAM user. IAM users must have the iotsitewise:CreatePresignedPortalUrl - // permission to sign in to the portal. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) + // The ARN of the IAM user. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in the IAM User Guide. // // If you delete the IAM user, access policies that contain this identity include @@ -13013,6 +13504,125 @@ func (s *ListAssetModelsOutput) SetNextToken(v string) *ListAssetModelsOutput { return s } +type ListAssetRelationshipsInput struct { + _ struct{} `type:"structure"` + + // The ID of the asset. + // + // AssetId is a required field + AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + + // The maximum number of results to be returned per paginated request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // The type of traversal to use to identify asset relationships. Choose the + // following option: + // + // * PATH_TO_ROOT – Identify the asset's parent assets up to the root asset. + // The asset that you specify in assetId is the first result in the list + // of assetRelationshipSummaries, and the root asset is the last result. + // + // TraversalType is a required field + TraversalType *string `location:"querystring" locationName:"traversalType" type:"string" required:"true" enum:"TraversalType"` +} + +// String returns the string representation +func (s ListAssetRelationshipsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssetRelationshipsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAssetRelationshipsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAssetRelationshipsInput"} + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 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 s.TraversalType == nil { + invalidParams.Add(request.NewErrParamRequired("TraversalType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetId sets the AssetId field's value. +func (s *ListAssetRelationshipsInput) SetAssetId(v string) *ListAssetRelationshipsInput { + s.AssetId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAssetRelationshipsInput) SetMaxResults(v int64) *ListAssetRelationshipsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssetRelationshipsInput) SetNextToken(v string) *ListAssetRelationshipsInput { + s.NextToken = &v + return s +} + +// SetTraversalType sets the TraversalType field's value. +func (s *ListAssetRelationshipsInput) SetTraversalType(v string) *ListAssetRelationshipsInput { + s.TraversalType = &v + return s +} + +type ListAssetRelationshipsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each asset relationship. + // + // AssetRelationshipSummaries is a required field + AssetRelationshipSummaries []*AssetRelationshipSummary `locationName:"assetRelationshipSummaries" type:"list" required:"true"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListAssetRelationshipsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssetRelationshipsOutput) GoString() string { + return s.String() +} + +// SetAssetRelationshipSummaries sets the AssetRelationshipSummaries field's value. +func (s *ListAssetRelationshipsOutput) SetAssetRelationshipSummaries(v []*AssetRelationshipSummary) *ListAssetRelationshipsOutput { + s.AssetRelationshipSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssetRelationshipsOutput) SetNextToken(v string) *ListAssetRelationshipsOutput { + s.NextToken = &v + return s +} + type ListAssetsInput struct { _ struct{} `type:"structure"` @@ -14147,9 +14757,8 @@ type PortalSummary struct { // The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to // access portals that use AWS SSO for authentication. For portals that use - // IAM for authentication, you must use the CreatePresignedPortalUrl (https://docs.aws.amazon.com/AWS - // IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html) operation to - // create a URL that you can use to access the portal. + // IAM for authentication, you must use the AWS IoT SiteWise console to get + // a URL that you can use to access the portal. // // StartUrl is a required field StartUrl *string `locationName:"startUrl" min:"1" type:"string" required:"true"` @@ -15416,6 +16025,62 @@ func (s *TumblingWindow) SetInterval(v string) *TumblingWindow { return s } +// You are not authorized. +type UnauthorizedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s UnauthorizedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnauthorizedException) GoString() string { + return s.String() +} + +func newErrorUnauthorizedException(v protocol.ResponseMetadata) error { + return &UnauthorizedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnauthorizedException) Code() string { + return "UnauthorizedException" +} + +// Message returns the exception's message. +func (s *UnauthorizedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnauthorizedException) OrigErr() error { + return nil +} + +func (s *UnauthorizedException) 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 *UnauthorizedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnauthorizedException) RequestID() string { + return s.RespMetadata.RequestID +} + type UntagResourceInput struct { _ struct{} `type:"structure"` @@ -15685,6 +16350,12 @@ func (s *UpdateAssetInput) SetClientToken(v string) *UpdateAssetInput { type UpdateAssetModelInput struct { _ struct{} `type:"structure"` + // The composite asset models that are part of this asset model. Composite asset + // models are asset models that contain specific properties. Each composite + // model has a type that defines the properties that the composite model supports. + // Use composite asset models to define alarms on this asset model. + AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"` + // A description for the asset model. AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"` @@ -15754,6 +16425,16 @@ func (s *UpdateAssetModelInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } + if s.AssetModelCompositeModels != nil { + for i, v := range s.AssetModelCompositeModels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams)) + } + } + } if s.AssetModelHierarchies != nil { for i, v := range s.AssetModelHierarchies { if v == nil { @@ -15781,6 +16462,12 @@ func (s *UpdateAssetModelInput) Validate() error { return nil } +// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value. +func (s *UpdateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModel) *UpdateAssetModelInput { + s.AssetModelCompositeModels = v + return s +} + // SetAssetModelDescription sets the AssetModelDescription field's value. func (s *UpdateAssetModelInput) SetAssetModelDescription(v string) *UpdateAssetModelInput { s.AssetModelDescription = &v @@ -16683,7 +17370,7 @@ type Variant struct { IntegerValue *int64 `locationName:"integerValue" type:"integer"` // Asset property data of type string (sequence of characters). - StringValue *string `locationName:"stringValue" min:"1" type:"string"` + StringValue *string `locationName:"stringValue" type:"string"` } // String returns the string representation @@ -16696,19 +17383,6 @@ func (s Variant) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Variant) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Variant"} - if s.StringValue != nil && len(*s.StringValue) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StringValue", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetBooleanValue sets the BooleanValue field's value. func (s *Variant) SetBooleanValue(v bool) *Variant { s.BooleanValue = &v @@ -16809,6 +17483,18 @@ func AssetModelState_Values() []string { } } +const ( + // AssetRelationshipTypeHierarchy is a AssetRelationshipType enum value + AssetRelationshipTypeHierarchy = "HIERARCHY" +) + +// AssetRelationshipType_Values returns all elements of the AssetRelationshipType enum +func AssetRelationshipType_Values() []string { + return []string{ + AssetRelationshipTypeHierarchy, + } +} + const ( // AssetStateCreating is a AssetState enum value AssetStateCreating = "CREATING" @@ -17113,6 +17799,9 @@ const ( // PropertyDataTypeBoolean is a PropertyDataType enum value PropertyDataTypeBoolean = "BOOLEAN" + + // PropertyDataTypeStruct is a PropertyDataType enum value + PropertyDataTypeStruct = "STRUCT" ) // PropertyDataType_Values returns all elements of the PropertyDataType enum @@ -17122,6 +17811,7 @@ func PropertyDataType_Values() []string { PropertyDataTypeInteger, PropertyDataTypeDouble, PropertyDataTypeBoolean, + PropertyDataTypeStruct, } } @@ -17208,3 +17898,15 @@ func TraversalDirection_Values() []string { TraversalDirectionChild, } } + +const ( + // TraversalTypePathToRoot is a TraversalType enum value + TraversalTypePathToRoot = "PATH_TO_ROOT" +) + +// TraversalType_Values returns all elements of the TraversalType enum +func TraversalType_Values() []string { + return []string{ + TraversalTypePathToRoot, + } +} diff --git a/service/iotsitewise/errors.go b/service/iotsitewise/errors.go index fc9edb11d9..3e84bfef71 100644 --- a/service/iotsitewise/errors.go +++ b/service/iotsitewise/errors.go @@ -75,6 +75,12 @@ const ( // more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions) // in the AWS General Reference. ErrCodeTooManyTagsException = "TooManyTagsException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + // + // You are not authorized. + ErrCodeUnauthorizedException = "UnauthorizedException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ @@ -87,4 +93,5 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ServiceUnavailableException": newErrorServiceUnavailableException, "ThrottlingException": newErrorThrottlingException, "TooManyTagsException": newErrorTooManyTagsException, + "UnauthorizedException": newErrorUnauthorizedException, } diff --git a/service/iotsitewise/iotsitewiseiface/interface.go b/service/iotsitewise/iotsitewiseiface/interface.go index 63aec52d29..d581fa810d 100644 --- a/service/iotsitewise/iotsitewiseiface/interface.go +++ b/service/iotsitewise/iotsitewiseiface/interface.go @@ -100,10 +100,6 @@ type IoTSiteWiseAPI interface { CreatePortalWithContext(aws.Context, *iotsitewise.CreatePortalInput, ...request.Option) (*iotsitewise.CreatePortalOutput, error) CreatePortalRequest(*iotsitewise.CreatePortalInput) (*request.Request, *iotsitewise.CreatePortalOutput) - CreatePresignedPortalUrl(*iotsitewise.CreatePresignedPortalUrlInput) (*iotsitewise.CreatePresignedPortalUrlOutput, error) - CreatePresignedPortalUrlWithContext(aws.Context, *iotsitewise.CreatePresignedPortalUrlInput, ...request.Option) (*iotsitewise.CreatePresignedPortalUrlOutput, error) - CreatePresignedPortalUrlRequest(*iotsitewise.CreatePresignedPortalUrlInput) (*request.Request, *iotsitewise.CreatePresignedPortalUrlOutput) - CreateProject(*iotsitewise.CreateProjectInput) (*iotsitewise.CreateProjectOutput, error) CreateProjectWithContext(aws.Context, *iotsitewise.CreateProjectInput, ...request.Option) (*iotsitewise.CreateProjectOutput, error) CreateProjectRequest(*iotsitewise.CreateProjectInput) (*request.Request, *iotsitewise.CreateProjectOutput) @@ -216,6 +212,13 @@ type IoTSiteWiseAPI interface { ListAssetModelsPages(*iotsitewise.ListAssetModelsInput, func(*iotsitewise.ListAssetModelsOutput, bool) bool) error ListAssetModelsPagesWithContext(aws.Context, *iotsitewise.ListAssetModelsInput, func(*iotsitewise.ListAssetModelsOutput, bool) bool, ...request.Option) error + ListAssetRelationships(*iotsitewise.ListAssetRelationshipsInput) (*iotsitewise.ListAssetRelationshipsOutput, error) + ListAssetRelationshipsWithContext(aws.Context, *iotsitewise.ListAssetRelationshipsInput, ...request.Option) (*iotsitewise.ListAssetRelationshipsOutput, error) + ListAssetRelationshipsRequest(*iotsitewise.ListAssetRelationshipsInput) (*request.Request, *iotsitewise.ListAssetRelationshipsOutput) + + ListAssetRelationshipsPages(*iotsitewise.ListAssetRelationshipsInput, func(*iotsitewise.ListAssetRelationshipsOutput, bool) bool) error + ListAssetRelationshipsPagesWithContext(aws.Context, *iotsitewise.ListAssetRelationshipsInput, func(*iotsitewise.ListAssetRelationshipsOutput, bool) bool, ...request.Option) error + ListAssets(*iotsitewise.ListAssetsInput) (*iotsitewise.ListAssetsOutput, error) ListAssetsWithContext(aws.Context, *iotsitewise.ListAssetsInput, ...request.Option) (*iotsitewise.ListAssetsOutput, error) ListAssetsRequest(*iotsitewise.ListAssetsInput) (*request.Request, *iotsitewise.ListAssetsOutput) diff --git a/service/pi/api.go b/service/pi/api.go index 4aa2c4e0c0..9332609394 100644 --- a/service/pi/api.go +++ b/service/pi/api.go @@ -58,6 +58,9 @@ func (c *PI) DescribeDimensionKeysRequest(input *DescribeDimensionKeysInput) (re // // For a specific time period, retrieve the top N dimension keys for a metric. // +// Each response element returns a maximum of 500 bytes. For larger elements, +// such as SQL statements, only the first 500 bytes are 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. @@ -145,6 +148,9 @@ func (c *PI) GetResourceMetricsRequest(input *GetResourceMetricsInput) (req *req // period. You can provide specific dimension groups and dimensions, and provide // aggregation and filtering criteria for each group. // +// Each response element returns a maximum of 500 bytes. For larger elements, +// such as SQL statements, only the first 500 bytes are 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. @@ -226,8 +232,8 @@ type DescribeDimensionKeysInput struct { _ struct{} `type:"structure"` // The date and time specifying the end of the requested time series data. The - // value specified is exclusive - data points less than (but not equal to) EndTime - // will be returned. + // value specified is exclusive, which means that data points less than (but + // not equal to) EndTime are returned. // // The value for EndTime must be later than the value for StartTime. // @@ -243,10 +249,10 @@ type DescribeDimensionKeysInput struct { Filter map[string]*string `type:"map"` // A specification for how to aggregate the data points from a query result. - // You must specify a valid dimension group. Performance Insights will return - // all of the dimensions within that group, unless you provide the names of - // specific dimensions within that group. You can also request that Performance - // Insights return a limited number of values for a dimension. + // You must specify a valid dimension group. Performance Insights returns all + // dimensions within this group, unless you provide the names of specific dimensions + // within this group. You can also request that Performance Insights return + // a limited number of values for a dimension. // // GroupBy is a required field GroupBy *DimensionGroup `type:"structure" required:"true"` @@ -255,7 +261,7 @@ type DescribeDimensionKeysInput struct { // Insights gathers metrics from this data source. // // To use an Amazon RDS instance as a data source, you specify its DbiResourceId - // value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A + // value. For example, specify db-FAIHNTYBKTGAUSUZQYPDS2GW4A // // Identifier is a required field Identifier *string `type:"string" required:"true"` @@ -275,6 +281,13 @@ type DescribeDimensionKeysInput struct { // * db.sampledload.avg - the raw number of active sessions for the database // engine. // + // If the number of active sessions is less than an internal Performance Insights + // threshold, db.load.avg and db.sampledload.avg are the same value. If the + // number of active sessions is greater than the internal threshold, Performance + // Insights samples the active sessions, with db.load.avg showing the scaled + // values, db.sampledload.avg showing the raw values, and db.sampledload.avg + // less than db.load.avg. For most use cases, you can query db.load.avg only. + // // Metric is a required field Metric *string `type:"string" required:"true"` @@ -301,20 +314,21 @@ type DescribeDimensionKeysInput struct { // // * 86400 (twenty-four hours) // - // If you don't specify PeriodInSeconds, then Performance Insights will choose - // a value for you, with a goal of returning roughly 100-200 data points in - // the response. + // If you don't specify PeriodInSeconds, then Performance Insights chooses a + // value for you, with a goal of returning roughly 100-200 data points in the + // response. PeriodInSeconds *int64 `type:"integer"` // The AWS service for which Performance Insights will return metrics. The only - // valid value for ServiceType is: RDS + // valid value for ServiceType is RDS. // // ServiceType is a required field ServiceType *string `type:"string" required:"true" enum:"ServiceType"` // The date and time specifying the beginning of the requested time series data. - // You can't specify a StartTime that's earlier than 7 days ago. The value specified - // is inclusive - data points equal to or greater than StartTime will be returned. + // You must specify a StartTime within the past 7 days. The value specified + // is inclusive, which means that data points equal to or greater than StartTime + // are returned. // // The value for StartTime must be earlier than the value for EndTime. // @@ -505,6 +519,9 @@ func (s *DescribeDimensionKeysOutput) SetPartitionKeys(v []*ResponsePartitionKey // A logical grouping of Performance Insights metrics for a related subject // area. For example, the db.sql dimension group consists of the following dimensions: // db.sql.id, db.sql.db_id, db.sql.statement, and db.sql.tokenized_id. +// +// Each response element returns a maximum of 500 bytes. For larger elements, +// such as SQL statements, only the first 500 bytes are returned. type DimensionGroup struct { _ struct{} `type:"structure"` @@ -514,48 +531,74 @@ type DimensionGroup struct { // // Valid values for elements in the Dimensions array are: // - // * db.user.id + // * db.application.name - The name of the application that is connected + // to the database (only Aurora PostgreSQL and RDS PostgreSQL) // - // * db.user.name + // * db.host.id - The host ID of the connected client (all engines) // - // * db.host.id + // * db.host.name - The host name of the connected client (all engines) // - // * db.host.name + // * db.name - The name of the database to which the client is connected + // (only Aurora PostgreSQL, RDS PostgreSQL, Aurora MySQL, RDS MySQL, and + // MariaDB) // - // * db.sql.id + // * db.session_type.name - The type of the current session (only Aurora + // PostgreSQL and RDS PostgreSQL) // - // * db.sql.db_id + // * db.sql.id - The SQL ID generated by Performance Insights (all engines) // - // * db.sql.statement + // * db.sql.db_id - The SQL ID generated by the database (all engines) + // + // * db.sql.statement - The SQL text that is being executed (all engines) // // * db.sql.tokenized_id // - // * db.sql_tokenized.id + // * db.sql_tokenized.id - The SQL digest ID generated by Performance Insights + // (all engines) + // + // * db.sql_tokenized.db_id - SQL digest ID generated by the database (all + // engines) // - // * db.sql_tokenized.db_id + // * db.sql_tokenized.statement - The SQL digest text (all engines) // - // * db.sql_tokenized.statement + // * db.user.id - The ID of the user logged in to the database (all engines) // - // * db.wait_event.name + // * db.user.name - The name of the user logged in to the database (all engines) // - // * db.wait_event.type + // * db.wait_event.name - The event for which the backend is waiting (all + // engines) // - // * db.wait_event_type.name + // * db.wait_event.type - The type of event for which the backend is waiting + // (all engines) + // + // * db.wait_event_type.name - The name of the event type for which the backend + // is waiting (all engines) Dimensions []*string `min:"1" type:"list"` // The name of the dimension group. Valid values are: // - // * db.user + // * db - The name of the database to which the client is connected (only + // Aurora PostgreSQL, RDS PostgreSQL, Aurora MySQL, RDS MySQL, and MariaDB) + // + // * db.application - The name of the application that is connected to the + // database (only Aurora PostgreSQL and RDS PostgreSQL) // - // * db.host + // * db.host - The host name of the connected client (all engines) // - // * db.sql + // * db.session_type - The type of the current session (only Aurora PostgreSQL + // and RDS PostgreSQL) // - // * db.sql_tokenized + // * db.sql - The SQL that is currently executing (all engines) // - // * db.wait_event + // * db.sql_tokenized - The SQL digest (all engines) // - // * db.wait_event_type + // * db.wait_event - The event for which the database backend is waiting + // (all engines) + // + // * db.wait_event_type - The type of event for which the database backend + // is waiting (all engines) + // + // * db.user - The user logged in to the database (all engines) // // Group is a required field Group *string `type:"string" required:"true"` @@ -659,9 +702,9 @@ func (s *DimensionKeyDescription) SetTotal(v float64) *DimensionKeyDescription { type GetResourceMetricsInput struct { _ struct{} `type:"structure"` - // The date and time specifiying the end of the requested time series data. - // The value specified is exclusive - data points less than (but not equal to) - // EndTime will be returned. + // The date and time specifying the end of the requested time series data. The + // value specified is exclusive - data points less than (but not equal to) EndTime + // will be returned. // // The value for EndTime must be later than the value for StartTime. // @@ -671,8 +714,8 @@ type GetResourceMetricsInput struct { // An immutable, AWS Region-unique identifier for a data source. Performance // Insights gathers metrics from this data source. // - // To use an Amazon RDS instance as a data source, you specify its DbiResourceId - // value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A + // To use a DB instance as a data source, specify its DbiResourceId value. For + // example, specify db-FAIHNTYBKTGAUSUZQYPDS2GW4A. // // Identifier is a required field Identifier *string `type:"string" required:"true"` @@ -712,8 +755,8 @@ type GetResourceMetricsInput struct { // the response. PeriodInSeconds *int64 `type:"integer"` - // The AWS service for which Performance Insights will return metrics. The only - // valid value for ServiceType is: RDS + // The AWS service for which Performance Insights returns metrics. The only + // valid value for ServiceType is RDS. // // ServiceType is a required field ServiceType *string `type:"string" required:"true" enum:"ServiceType"` @@ -840,8 +883,8 @@ type GetResourceMetricsOutput struct { // An immutable, AWS Region-unique identifier for a data source. Performance // Insights gathers metrics from this data source. // - // To use an Amazon RDS instance as a data source, you specify its DbiResourceId - // value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A + // To use a DB instance as a data source, you specify its DbiResourceId value + // - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A Identifier *string `type:"string"` // An array of metric results,, where each array element contains all of the @@ -1006,7 +1049,7 @@ func (s *InvalidArgumentException) RequestID() string { return s.RespMetadata.RequestID } -// A time-ordered series of data points, correpsonding to a dimension of a Performance +// A time-ordered series of data points, corresponding to a dimension of a Performance // Insights metric. type MetricKeyDataPoints struct { _ struct{} `type:"structure"` @@ -1074,6 +1117,13 @@ type MetricQuery struct { // * db.sampledload.avg - the raw number of active sessions for the database // engine. // + // If the number of active sessions is less than an internal Performance Insights + // threshold, db.load.avg and db.sampledload.avg are the same value. If the + // number of active sessions is greater than the internal threshold, Performance + // Insights samples the active sessions, with db.load.avg showing the scaled + // values, db.sampledload.avg showing the raw values, and db.sampledload.avg + // less than db.load.avg. For most use cases, you can query db.load.avg only. + // // Metric is a required field Metric *string `type:"string" required:"true"` } @@ -1225,6 +1275,13 @@ type ResponseResourceMetricKey struct { // * db.sampledload.avg - the raw number of active sessions for the database // engine. // + // If the number of active sessions is less than an internal Performance Insights + // threshold, db.load.avg and db.sampledload.avg are the same value. If the + // number of active sessions is greater than the internal threshold, Performance + // Insights samples the active sessions, with db.load.avg showing the scaled + // values, db.sampledload.avg showing the raw values, and db.sampledload.avg + // less than db.load.avg. For most use cases, you can query db.load.avg only. + // // Metric is a required field Metric *string `type:"string" required:"true"` } diff --git a/service/pi/doc.go b/service/pi/doc.go index 3ae4663c69..43b42c6fa9 100644 --- a/service/pi/doc.go +++ b/service/pi/doc.go @@ -3,23 +3,28 @@ // Package pi provides the client and types for making API // requests to AWS Performance Insights. // -// AWS Performance Insights enables you to monitor and explore different dimensions -// of database load based on data captured from a running RDS instance. The -// guide provides detailed information about Performance Insights data types, -// parameters and errors. For more information about Performance Insights capabilities -// see Using Amazon RDS Performance Insights (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) -// in the Amazon RDS User Guide. -// -// The AWS Performance Insights API provides visibility into the performance -// of your RDS instance, when Performance Insights is enabled for supported -// engine types. While Amazon CloudWatch provides the authoritative source for -// AWS service vended monitoring metrics, AWS Performance Insights offers a -// domain-specific view of database load measured as Average Active Sessions -// and provided to API consumers as a 2-dimensional time-series dataset. The -// time dimension of the data provides DB load data for each time point in the -// queried time range, and each time point decomposes overall load in relation -// to the requested dimensions, such as SQL, Wait-event, User or Host, measured -// at that time point. +// Amazon RDS Performance Insights enables you to monitor and explore different +// dimensions of database load based on data captured from a running DB instance. +// The guide provides detailed information about Performance Insights data types, +// parameters and errors. +// +// When Performance Insights is enabled, the Amazon RDS Performance Insights +// API provides visibility into the performance of your DB instance. Amazon +// CloudWatch provides the authoritative source for AWS service-vended monitoring +// metrics. Performance Insights offers a domain-specific view of DB load. +// +// DB load is measured as Average Active Sessions. Performance Insights provides +// the data to API consumers as a two-dimensional time-series dataset. The time +// dimension provides DB load data for each time point in the queried time range. +// Each time point decomposes overall load in relation to the requested dimensions, +// measured at that time point. Examples include SQL, Wait event, User, and +// Host. +// +// * To learn more about Performance Insights and Amazon Aurora DB instances, +// go to the Amazon Aurora User Guide (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html). +// +// * To learn more about Performance Insights and Amazon RDS DB instances, +// go to the Amazon RDS User Guide (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html). // // See https://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27 for more information on this service. //