From d0f43158ad3bcbe89ab04b7fdef545cf7a591154 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 4 Nov 2020 12:07:56 -0800 Subject: [PATCH] Release v1.35.21 (2020-11-04) (#3623) Release v1.35.21 (2020-11-04) === ### Service Client Updates * `service/autoscaling`: Updates service API and documentation * Capacity Rebalance helps you manage and maintain workload availability during Spot interruptions by proactively augmenting your Auto Scaling group with a new instance before interrupting an old one. * `service/ec2`: Updates service API and documentation * Added support for Client Connect Handler for AWS Client VPN. Fleet supports launching replacement instances in response to Capacity Rebalance recommendation. * `service/es`: Updates service API and documentation * Amazon Elasticsearch Service now supports native SAML authentication that seamlessly integrates with the customers' existing SAML 2.0 Identity Provider (IdP). * `service/iot`: Updates service API, documentation, and paginators * Updated API documentation and added paginator for AWS Iot Registry ListThingPrincipals API. * `service/meteringmarketplace`: Updates service API and documentation * Adding Vendor Tagging Support in MeterUsage and BatchMeterUsage API. * `service/monitoring`: Updates service documentation * Documentation updates for monitoring * `service/mq`: Updates service API and documentation * Amazon MQ introduces support for RabbitMQ, a popular message-broker with native support for AMQP 0.9.1. You can now create fully-managed RabbitMQ brokers in the cloud. * `service/servicecatalog`: Updates service API and documentation * Service Catalog API ListPortfolioAccess can now support a maximum PageSize of 100. * `service/transcribe-streaming`: Updates service API * `service/xray`: Updates service API, documentation, and paginators * Releasing new APIs GetInsightSummaries, GetInsightEvents, GetInsight, GetInsightImpactGraph and updating GetTimeSeriesServiceStatistics API for AWS X-Ray Insights feature --- CHANGELOG.md | 24 + aws/endpoints/defaults.go | 71 +- aws/version.go | 2 +- models/apis/autoscaling/2011-01-01/api-2.json | 8 +- .../apis/autoscaling/2011-01-01/docs-2.json | 24 +- models/apis/ec2/2016-11-15/api-2.json | 128 +- models/apis/ec2/2016-11-15/docs-2.json | 92 +- models/apis/es/2015-01-01/api-2.json | 54 +- models/apis/es/2015-01-01/docs-2.json | 48 +- models/apis/iot/2015-05-28/api-2.json | 22 +- models/apis/iot/2015-05-28/docs-2.json | 57 +- models/apis/iot/2015-05-28/paginators-1.json | 6 + .../meteringmarketplace/2016-01-14/api-2.json | 86 +- .../2016-01-14/docs-2.json | 59 +- models/apis/monitoring/2010-08-01/docs-2.json | 28 +- models/apis/mq/2017-11-27/api-2.json | 8 +- models/apis/mq/2017-11-27/docs-2.json | 49 +- .../apis/servicecatalog/2015-12-10/api-2.json | 7 +- .../servicecatalog/2015-12-10/docs-2.json | 9 +- .../2017-10-26/api-2.json | 4 +- models/apis/xray/2016-04-12/api-2.json | 277 ++ models/apis/xray/2016-04-12/docs-2.json | 238 ++ models/apis/xray/2016-04-12/paginators-1.json | 10 + models/endpoints/endpoints.json | 59 + service/autoscaling/api.go | 90 +- service/cloudwatch/api.go | 45 +- service/ec2/api.go | 448 ++- service/elasticsearchservice/api.go | 243 ++ service/iot/api.go | 192 +- service/iot/iotiface/interface.go | 3 + service/marketplacemetering/api.go | 311 ++ service/marketplacemetering/errors.go | 15 + service/mq/api.go | 91 +- service/mq/doc.go | 9 +- service/servicecatalog/api.go | 7 +- service/transcribestreamingservice/api.go | 8 + service/xray/api.go | 3559 ++++++++++++----- service/xray/xrayiface/interface.go | 22 + 38 files changed, 5135 insertions(+), 1278 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9f261aa3a4..4520e0c01dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ +Release v1.35.21 (2020-11-04) +=== + +### Service Client Updates +* `service/autoscaling`: Updates service API and documentation + * Capacity Rebalance helps you manage and maintain workload availability during Spot interruptions by proactively augmenting your Auto Scaling group with a new instance before interrupting an old one. +* `service/ec2`: Updates service API and documentation + * Added support for Client Connect Handler for AWS Client VPN. Fleet supports launching replacement instances in response to Capacity Rebalance recommendation. +* `service/es`: Updates service API and documentation + * Amazon Elasticsearch Service now supports native SAML authentication that seamlessly integrates with the customers' existing SAML 2.0 Identity Provider (IdP). +* `service/iot`: Updates service API, documentation, and paginators + * Updated API documentation and added paginator for AWS Iot Registry ListThingPrincipals API. +* `service/meteringmarketplace`: Updates service API and documentation + * Adding Vendor Tagging Support in MeterUsage and BatchMeterUsage API. +* `service/monitoring`: Updates service documentation + * Documentation updates for monitoring +* `service/mq`: Updates service API and documentation + * Amazon MQ introduces support for RabbitMQ, a popular message-broker with native support for AMQP 0.9.1. You can now create fully-managed RabbitMQ brokers in the cloud. +* `service/servicecatalog`: Updates service API and documentation + * Service Catalog API ListPortfolioAccess can now support a maximum PageSize of 100. +* `service/transcribe-streaming`: Updates service API +* `service/xray`: Updates service API, documentation, and paginators + * Releasing new APIs GetInsightSummaries, GetInsightEvents, GetInsight, GetInsightImpactGraph and updating GetTimeSeriesServiceStatistics API for AWS X-Ray Insights feature + Release v1.35.20 (2020-11-02) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index c523456791a..952ae32f0d0 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -2197,6 +2197,12 @@ var awsPartition = partition{ Region: "us-east-2", }, }, + "fips-us-west-1": endpoint{ + Hostname: "fips.eks.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, "fips-us-west-2": endpoint{ Hostname: "fips.eks.us-west-2.amazonaws.com", CredentialScope: credentialScope{ @@ -3524,11 +3530,35 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "lakeformation-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "lakeformation-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "lakeformation-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "lakeformation-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "lambda": service{ @@ -4414,6 +4444,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, @@ -8070,6 +8101,18 @@ var awsusgovPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "eks.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "eks.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -8289,6 +8332,7 @@ var awsusgovPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, "us-gov-west-1-fips": endpoint{ Hostname: "guardduty.us-gov-west-1.amazonaws.com", @@ -9552,6 +9596,17 @@ var awsisobPartition = partition{ }, }, Services: services{ + "api.ecr": service{ + + Endpoints: endpoints{ + "us-isob-east-1": endpoint{ + Hostname: "api.ecr.us-isob-east-1.sc2s.sgov.gov", + CredentialScope: credentialScope{ + Region: "us-isob-east-1", + }, + }, + }, + }, "application-autoscaling": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -9631,6 +9686,12 @@ var awsisobPartition = partition{ }, }, }, + "ecs": service{ + + Endpoints: endpoints{ + "us-isob-east-1": endpoint{}, + }, + }, "elasticache": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index 138e1c09c24..4b8fc09f197 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.35.20" +const SDKVersion = "1.35.21" diff --git a/models/apis/autoscaling/2011-01-01/api-2.json b/models/apis/autoscaling/2011-01-01/api-2.json index e39ecba7cc6..5114505f48a 100644 --- a/models/apis/autoscaling/2011-01-01/api-2.json +++ b/models/apis/autoscaling/2011-01-01/api-2.json @@ -1002,7 +1002,8 @@ "TerminationPolicies":{"shape":"TerminationPolicies"}, "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"}, "ServiceLinkedRoleARN":{"shape":"ResourceName"}, - "MaxInstanceLifetime":{"shape":"MaxInstanceLifetime"} + "MaxInstanceLifetime":{"shape":"MaxInstanceLifetime"}, + "CapacityRebalance":{"shape":"CapacityRebalanceEnabled"} } }, "AutoScalingGroupDesiredCapacity":{"type":"integer"}, @@ -1153,6 +1154,7 @@ "AutoScalingGroupName":{"shape":"XmlStringMaxLen255"} } }, + "CapacityRebalanceEnabled":{"type":"boolean"}, "ClassicLinkVPCSecurityGroups":{ "type":"list", "member":{"shape":"XmlStringMaxLen255"} @@ -1204,6 +1206,7 @@ "VPCZoneIdentifier":{"shape":"XmlStringMaxLen2047"}, "TerminationPolicies":{"shape":"TerminationPolicies"}, "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"}, + "CapacityRebalance":{"shape":"CapacityRebalanceEnabled"}, "LifecycleHookSpecificationList":{"shape":"LifecycleHookSpecifications"}, "Tags":{"shape":"Tags"}, "ServiceLinkedRoleARN":{"shape":"ResourceName"}, @@ -2603,7 +2606,8 @@ "TerminationPolicies":{"shape":"TerminationPolicies"}, "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"}, "ServiceLinkedRoleARN":{"shape":"ResourceName"}, - "MaxInstanceLifetime":{"shape":"MaxInstanceLifetime"} + "MaxInstanceLifetime":{"shape":"MaxInstanceLifetime"}, + "CapacityRebalance":{"shape":"CapacityRebalanceEnabled"} } }, "Values":{ diff --git a/models/apis/autoscaling/2011-01-01/docs-2.json b/models/apis/autoscaling/2011-01-01/docs-2.json index c03e7d395ab..399e81c36c0 100644 --- a/models/apis/autoscaling/2011-01-01/docs-2.json +++ b/models/apis/autoscaling/2011-01-01/docs-2.json @@ -47,14 +47,14 @@ "ExecutePolicy": "

Executes the specified policy. This can be useful for testing the design of your scaling policy.

", "ExitStandby": "

Moves the specified instances out of the standby state.

After you put the instances back in service, the desired capacity is incremented.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

", "PutLifecycleHook": "

Creates or updates a lifecycle hook for the specified Auto Scaling group.

A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance when the instance launches (before it is put into service) or as the instance terminates (before it is fully terminated).

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state using the RecordLifecycleActionHeartbeat API call.

  5. If you finish before the timeout period ends, complete the lifecycle action using the CompleteLifecycleAction API call.

For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails.

You can view the lifecycle hooks for an Auto Scaling group using the DescribeLifecycleHooks API call. If you are no longer using a lifecycle hook, you can delete it by calling the DeleteLifecycleHook API.

", - "PutNotificationConfiguration": "

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting Amazon SNS Notifications When Your Auto Scaling Group Scales in the Amazon EC2 Auto Scaling User Guide.

", + "PutNotificationConfiguration": "

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting Amazon SNS Notifications When Your Auto Scaling Group Scales in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.

", "PutScalingPolicy": "

Creates or updates a scaling policy for an Auto Scaling group.

For more information about using scaling policies to scale your Auto Scaling group, see Target Tracking Scaling Policies and Step and Simple Scaling Policies in the Amazon EC2 Auto Scaling User Guide.

", "PutScheduledUpdateGroupAction": "

Creates or updates a scheduled scaling action for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged.

For more information, see Scheduled Scaling in the Amazon EC2 Auto Scaling User Guide.

", "RecordLifecycleActionHeartbeat": "

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using the PutLifecycleHook API call.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

", "ResumeProcesses": "

Resumes the specified suspended automatic scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

", "SetDesiredCapacity": "

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual Scaling in the Amazon EC2 Auto Scaling User Guide.

", "SetInstanceHealth": "

Sets the health status of the specified instance.

For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

", - "SetInstanceProtection": "

Updates the instance protection settings of the specified instances.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

", + "SetInstanceProtection": "

Updates the instance protection settings of the specified instances.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

", "StartInstanceRefresh": "

Starts a new instance refresh operation, which triggers a rolling replacement of all previously launched instances in the Auto Scaling group with a new group of instances.

If successful, this call creates a new instance refresh request with a unique ID that you can use to track its progress. To query its status, call the DescribeInstanceRefreshes API. To describe the instance refreshes that have already run, call the DescribeInstanceRefreshes API. To cancel an instance refresh operation in progress, use the CancelInstanceRefresh API.

For more information, see Replacing Auto Scaling Instances Based on an Instance Refresh.

", "SuspendProcesses": "

Suspends the specified automatic scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

", "TerminateInstanceInAutoScalingGroup": "

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Rebalancing Activities in the Amazon EC2 Auto Scaling User Guide.

", @@ -341,6 +341,14 @@ "refs": { } }, + "CapacityRebalanceEnabled": { + "base": null, + "refs": { + "AutoScalingGroup$CapacityRebalance": "

Indicates whether capacity rebalance is enabled.

", + "CreateAutoScalingGroupType$CapacityRebalance": "

Indicates whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.

You can enable capacity rebalancing for your Auto Scaling groups when using Spot Instances. When you turn on capacity rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 predicts that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. For more information, see Amazon EC2 Auto Scaling capacity rebalancing in the Amazon EC2 Auto Scaling User Guide.

", + "UpdateAutoScalingGroupType$CapacityRebalance": "

Enables or disables capacity rebalance.

You can enable capacity rebalancing for your Auto Scaling groups when using Spot Instances. When you turn on capacity rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 predicts that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. For more information, see Amazon EC2 Auto Scaling capacity rebalancing in the Amazon EC2 Auto Scaling User Guide.

" + } + }, "ClassicLinkVPCSecurityGroups": { "base": null, "refs": { @@ -728,17 +736,17 @@ } }, "InstanceMetadataOptions": { - "base": "

The metadata options for the instances. For more information, see Instance Metadata and User Data in the Amazon EC2 User Guide for Linux Instances.

", + "base": "

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

", "refs": { - "CreateLaunchConfigurationType$MetadataOptions": "

The metadata options for the instances. For more information, see Instance Metadata and User Data in the Amazon EC2 User Guide for Linux Instances.

", - "LaunchConfiguration$MetadataOptions": "

The metadata options for the instances. For more information, see Instance Metadata and User Data in the Amazon EC2 User Guide for Linux Instances.

" + "CreateLaunchConfigurationType$MetadataOptions": "

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

", + "LaunchConfiguration$MetadataOptions": "

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

" } }, "InstanceMonitoring": { "base": "

Describes whether detailed monitoring is enabled for the Auto Scaling instances.

", "refs": { - "CreateLaunchConfigurationType$InstanceMonitoring": "

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is true (enabled).

When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

", - "LaunchConfiguration$InstanceMonitoring": "

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" + "CreateLaunchConfigurationType$InstanceMonitoring": "

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is true (enabled).

When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

", + "LaunchConfiguration$InstanceMonitoring": "

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" } }, "InstanceProtected": { @@ -1719,7 +1727,7 @@ "InstanceRefresh$StatusReason": "

Provides more details about the current status of the instance refresh.

", "LifecycleHook$NotificationMetadata": "

Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target.

", "LifecycleHookSpecification$NotificationMetadata": "

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

", - "PredefinedMetricSpecification$ResourceLabel": "

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Auto Scaling group.

Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch. CloudWatch collects the data and specifies the format to use to access the data. The format is app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id , where

To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.

", + "PredefinedMetricSpecification$ResourceLabel": "

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Auto Scaling group.

You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

This is an example: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.

To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.

", "PutLifecycleHookType$NotificationMetadata": "

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" } }, diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 19c75aae01b..3b0c93327e4 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -5975,6 +5975,30 @@ "active" ] }, + "ClientConnectOptions":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "LambdaFunctionArn":{"shape":"String"} + } + }, + "ClientConnectResponseOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "locationName":"enabled" + }, + "LambdaFunctionArn":{ + "shape":"String", + "locationName":"lambdaFunctionArn" + }, + "Status":{ + "shape":"ClientVpnEndpointAttributeStatus", + "locationName":"status" + } + } + }, "ClientData":{ "type":"structure", "members":{ @@ -6110,6 +6134,10 @@ "ConnectionEndTime":{ "shape":"String", "locationName":"connectionEndTime" + }, + "PostureComplianceStatuses":{ + "shape":"ValueStringList", + "locationName":"postureComplianceStatusSet" } } }, @@ -6226,9 +6254,33 @@ "SelfServicePortalUrl":{ "shape":"String", "locationName":"selfServicePortalUrl" + }, + "ClientConnectOptions":{ + "shape":"ClientConnectResponseOptions", + "locationName":"clientConnectOptions" } } }, + "ClientVpnEndpointAttributeStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnEndpointAttributeStatusCode", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "locationName":"message" + } + } + }, + "ClientVpnEndpointAttributeStatusCode":{ + "type":"string", + "enum":[ + "applying", + "applied" + ] + }, "ClientVpnEndpointId":{"type":"string"}, "ClientVpnEndpointIdList":{ "type":"list", @@ -6792,7 +6844,8 @@ "locationName":"SecurityGroupId" }, "VpcId":{"shape":"VpcId"}, - "SelfServicePortal":{"shape":"SelfServicePortal"} + "SelfServicePortal":{"shape":"SelfServicePortal"}, + "ClientConnectOptions":{"shape":"ClientConnectOptions"} } }, "CreateClientVpnEndpointResult":{ @@ -15431,6 +15484,10 @@ "prioritized" ] }, + "FleetReplacementStrategy":{ + "type":"string", + "enum":["launch"] + }, "FleetSet":{ "type":"list", "member":{ @@ -15438,6 +15495,36 @@ "locationName":"item" } }, + "FleetSpotCapacityRebalance":{ + "type":"structure", + "members":{ + "ReplacementStrategy":{ + "shape":"FleetReplacementStrategy", + "locationName":"replacementStrategy" + } + } + }, + "FleetSpotCapacityRebalanceRequest":{ + "type":"structure", + "members":{ + "ReplacementStrategy":{"shape":"FleetReplacementStrategy"} + } + }, + "FleetSpotMaintenanceStrategies":{ + "type":"structure", + "members":{ + "CapacityRebalance":{ + "shape":"FleetSpotCapacityRebalance", + "locationName":"capacityRebalance" + } + } + }, + "FleetSpotMaintenanceStrategiesRequest":{ + "type":"structure", + "members":{ + "CapacityRebalance":{"shape":"FleetSpotCapacityRebalanceRequest"} + } + }, "FleetStateCode":{ "type":"string", "enum":[ @@ -21002,7 +21089,8 @@ "locationName":"SecurityGroupId" }, "VpcId":{"shape":"VpcId"}, - "SelfServicePortal":{"shape":"SelfServicePortal"} + "SelfServicePortal":{"shape":"SelfServicePortal"}, + "ClientConnectOptions":{"shape":"ClientConnectOptions"} } }, "ModifyClientVpnEndpointResult":{ @@ -21054,10 +21142,7 @@ }, "ModifyFleetRequest":{ "type":"structure", - "required":[ - "FleetId", - "TargetCapacitySpecification" - ], + "required":["FleetId"], "members":{ "DryRun":{"shape":"Boolean"}, "ExcessCapacityTerminationPolicy":{"shape":"FleetExcessCapacityTerminationPolicy"}, @@ -24481,6 +24566,10 @@ } } }, + "ReplacementStrategy":{ + "type":"string", + "enum":["launch"] + }, "ReportInstanceReasonCodes":{ "type":"string", "enum":[ @@ -27043,6 +27132,15 @@ "capacity-optimized" ] }, + "SpotCapacityRebalance":{ + "type":"structure", + "members":{ + "ReplacementStrategy":{ + "shape":"ReplacementStrategy", + "locationName":"replacementStrategy" + } + } + }, "SpotDatafeedSubscription":{ "type":"structure", "members":{ @@ -27198,6 +27296,10 @@ "shape":"OnDemandAllocationStrategy", "locationName":"onDemandAllocationStrategy" }, + "SpotMaintenanceStrategies":{ + "shape":"SpotMaintenanceStrategies", + "locationName":"spotMaintenanceStrategies" + }, "ClientToken":{ "shape":"String", "locationName":"clientToken" @@ -27470,6 +27572,15 @@ "persistent" ] }, + "SpotMaintenanceStrategies":{ + "type":"structure", + "members":{ + "CapacityRebalance":{ + "shape":"SpotCapacityRebalance", + "locationName":"capacityRebalance" + } + } + }, "SpotMarketOptions":{ "type":"structure", "members":{ @@ -27487,6 +27598,10 @@ "shape":"SpotAllocationStrategy", "locationName":"allocationStrategy" }, + "MaintenanceStrategies":{ + "shape":"FleetSpotMaintenanceStrategies", + "locationName":"maintenanceStrategies" + }, "InstanceInterruptionBehavior":{ "shape":"SpotInstanceInterruptionBehavior", "locationName":"instanceInterruptionBehavior" @@ -27517,6 +27632,7 @@ "type":"structure", "members":{ "AllocationStrategy":{"shape":"SpotAllocationStrategy"}, + "MaintenanceStrategies":{"shape":"FleetSpotMaintenanceStrategiesRequest"}, "InstanceInterruptionBehavior":{"shape":"SpotInstanceInterruptionBehavior"}, "InstancePoolsToUseCount":{"shape":"Integer"}, "SingleInstanceType":{"shape":"Boolean"}, diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 6df8668bbd4..f1379310380 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -1184,6 +1184,8 @@ "CapacityReservation$EbsOptimized": "

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.

", "CapacityReservation$EphemeralStorage": "

Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.

", "ClassicLinkDnsSupport$ClassicLinkDnsSupported": "

Indicates whether ClassicLink DNS support is enabled for the VPC.

", + "ClientConnectOptions$Enabled": "

Indicates whether client connect options are enabled. The default is false (not enabled).

", + "ClientConnectResponseOptions$Enabled": "

Indicates whether client connect options are enabled.

", "ClientVpnEndpoint$SplitTunnel": "

Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint.

For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS Client VPN Administrator Guide.

", "ConfirmProductInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ConfirmProductInstanceResult$Return": "

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", @@ -1996,13 +1998,13 @@ } }, "CapacityReservationOptions": { - "base": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations in the Amazon Elastic Compute Cloud User Guide.

", + "base": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet example configurations in the Amazon Elastic Compute Cloud User Guide.

", "refs": { "OnDemandOptions$CapacityReservationOptions": "

The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type instant.

" } }, "CapacityReservationOptionsRequest": { - "base": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations in the Amazon Elastic Compute Cloud User Guide.

", + "base": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet example configurations in the Amazon Elastic Compute Cloud User Guide.

", "refs": { "OnDemandOptionsRequest$CapacityReservationOptions": "

The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type instant.

" } @@ -2190,6 +2192,19 @@ "ClientCertificateRevocationListStatus$Code": "

The state of the client certificate revocation list.

" } }, + "ClientConnectOptions": { + "base": "

The options for managing connection authorization for new client connections.

", + "refs": { + "CreateClientVpnEndpointRequest$ClientConnectOptions": "

The options for managing connection authorization for new client connections.

", + "ModifyClientVpnEndpointRequest$ClientConnectOptions": "

The options for managing connection authorization for new client connections.

" + } + }, + "ClientConnectResponseOptions": { + "base": "

The options for managing connection authorization for new client connections.

", + "refs": { + "ClientVpnEndpoint$ClientConnectOptions": "

The options for managing connection authorization for new client connections.

" + } + }, "ClientData": { "base": "

Describes the client-specific data.

", "refs": { @@ -2280,6 +2295,18 @@ "EndpointSet$member": null } }, + "ClientVpnEndpointAttributeStatus": { + "base": "

Describes the status of the Client VPN endpoint attribute.

", + "refs": { + "ClientConnectResponseOptions$Status": "

The status of any updates to the client connect options.

" + } + }, + "ClientVpnEndpointAttributeStatusCode": { + "base": null, + "refs": { + "ClientVpnEndpointAttributeStatus$Code": "

The status code.

" + } + }, "ClientVpnEndpointId": { "base": null, "refs": { @@ -6036,9 +6063,9 @@ } }, "EnclaveOptionsRequest": { - "base": "

Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see AWS Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide.

", + "base": "

Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see What is AWS Nitro Enclaves? in the AWS Nitro Enclaves User Guide.

", "refs": { - "RunInstancesRequest$EnclaveOptions": "

Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see AWS Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide.

You can't enable AWS Nitro Enclaves and hibernation on the same instance. For more information about AWS Nitro Enclaves requirements, see AWS Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide.

" + "RunInstancesRequest$EnclaveOptions": "

Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see What is AWS Nitro Enclaves? in the AWS Nitro Enclaves User Guide.

You can't enable AWS Nitro Enclaves and hibernation on the same instance.

" } }, "EndDateType": { @@ -6505,12 +6532,43 @@ "OnDemandOptionsRequest$AllocationStrategy": "

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price, EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price.

" } }, + "FleetReplacementStrategy": { + "base": null, + "refs": { + "FleetSpotCapacityRebalance$ReplacementStrategy": "

To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance notification is emitted for an existing Spot Instance in the fleet, specify launch. Only available for fleets of type maintain.

When a replacement instance is launched, the instance marked for rebalance is not automatically terminated. You can terminate it, or you can wait until Amazon EC2 interrupts it. You are charged for both instances while they are running.

", + "FleetSpotCapacityRebalanceRequest$ReplacementStrategy": "

The replacement strategy to use. Only available for fleets of type maintain.

To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance notification is emitted for an existing Spot Instance in the fleet, specify launch. You must specify a value, otherwise you get an error.

When a replacement instance is launched, the instance marked for rebalance is not automatically terminated. You can terminate it, or you can wait until Amazon EC2 interrupts it. You are charged for all instances while they are running.

" + } + }, "FleetSet": { "base": null, "refs": { "DescribeFleetsResult$Fleets": "

Information about the EC2 Fleets.

" } }, + "FleetSpotCapacityRebalance": { + "base": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.

", + "refs": { + "FleetSpotMaintenanceStrategies$CapacityRebalance": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.

" + } + }, + "FleetSpotCapacityRebalanceRequest": { + "base": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon Elastic Compute Cloud User Guide.

", + "refs": { + "FleetSpotMaintenanceStrategiesRequest$CapacityRebalance": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.

" + } + }, + "FleetSpotMaintenanceStrategies": { + "base": "

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

", + "refs": { + "SpotOptions$MaintenanceStrategies": "

The strategies for managing your workloads on your Spot Instances that will be interrupted. Currently only the capacity rebalance strategy is available.

" + } + }, + "FleetSpotMaintenanceStrategiesRequest": { + "base": "

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

", + "refs": { + "SpotOptionsRequest$MaintenanceStrategies": "

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

" + } + }, "FleetStateCode": { "base": null, "refs": { @@ -6522,7 +6580,7 @@ "FleetType": { "base": null, "refs": { - "CreateFleetRequest$Type": "

The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (maintain). A value of instant places a synchronous one-time request, and returns errors for any instances that could not be launched. A value of request places an asynchronous one-time request without maintaining capacity or submitting requests in alternative capacity pools if capacity is unavailable. For more information, see EC2 Fleet Request Types in the Amazon Elastic Compute Cloud User Guide.

", + "CreateFleetRequest$Type": "

The type of request. The default value is maintain.

For more information, see EC2 Fleet request types in the Amazon Elastic Compute Cloud User Guide.

", "FleetData$Type": "

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. If you request a certain target capacity, EC2 Fleet only places the required requests; it does not attempt to replenish instances if capacity is diminished, and it does not submit requests in alternative capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet places the required requests to meet this target capacity. It also automatically replenishes any interrupted Spot Instances. Default: maintain.

", "SpotFleetRequestConfigData$Type": "

The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is request, the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is maintain, the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: maintain. instant is listed but is not used by Spot Fleet.

" } @@ -11212,6 +11270,12 @@ "refs": { } }, + "ReplacementStrategy": { + "base": null, + "refs": { + "SpotCapacityRebalance$ReplacementStrategy": "

The replacement strategy to use. Only available for fleets of type maintain. You must specify a value, otherwise you get an error.

To allow Spot Fleet to launch a replacement Spot Instance when an instance rebalance notification is emitted for a Spot Instance in the fleet, specify launch.

When a replacement instance is launched, the instance marked for rebalance is not automatically terminated. You can terminate it, or you can wait until Amazon EC2 interrupts it. You are charged for all instances while they are running.

" + } + }, "ReportInstanceReasonCodes": { "base": null, "refs": { @@ -12239,6 +12303,12 @@ "SpotOptionsRequest$AllocationStrategy": "

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.

If the allocation strategy is lowest-price, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

" } }, + "SpotCapacityRebalance": { + "base": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

", + "refs": { + "SpotMaintenanceStrategies$CapacityRebalance": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.

" + } + }, "SpotDatafeedSubscription": { "base": "

Describes the data feed for a Spot Instance.

", "refs": { @@ -12367,6 +12437,12 @@ "SpotMarketOptions$SpotInstanceType": "

The Spot Instance request type. For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.

" } }, + "SpotMaintenanceStrategies": { + "base": "

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

", + "refs": { + "SpotFleetRequestConfigData$SpotMaintenanceStrategies": "

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

" + } + }, "SpotMarketOptions": { "base": "

The options for Spot Instances.

", "refs": { @@ -12641,6 +12717,8 @@ "ClassicLinkInstance$VpcId": "

The ID of the VPC.

", "ClassicLoadBalancer$Name": "

The name of the load balancer.

", "ClientCertificateRevocationListStatus$Message": "

A message about the status of the client certificate revocation list, if applicable.

", + "ClientConnectOptions$LambdaFunctionArn": "

The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization.

", + "ClientConnectResponseOptions$LambdaFunctionArn": "

The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization.

", "ClientData$Comment": "

A user-defined comment about the disk upload.

", "ClientVpnAuthorizationRuleStatus$Message": "

A message about the status of the authorization rule, if applicable.

", "ClientVpnConnection$ClientVpnEndpointId": "

The ID of the Client VPN endpoint to which the client is connected.

", @@ -12664,6 +12742,7 @@ "ClientVpnEndpoint$ClientCidrBlock": "

The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

", "ClientVpnEndpoint$ServerCertificateArn": "

The ARN of the server certificate.

", "ClientVpnEndpoint$SelfServicePortalUrl": "

The URL of the self-service portal.

", + "ClientVpnEndpointAttributeStatus$Message": "

The status message.

", "ClientVpnEndpointStatus$Message": "

A message about the status of the Client VPN endpoint.

", "ClientVpnRoute$ClientVpnEndpointId": "

The ID of the Client VPN endpoint with which the route is associated.

", "ClientVpnRoute$DestinationCidr": "

The IPv4 address range, in CIDR notation, of the route destination.

", @@ -14283,7 +14362,7 @@ "CreateCustomerGatewayRequest$TagSpecifications": "

The tags to apply to the customer gateway.

", "CreateDhcpOptionsRequest$TagSpecifications": "

The tags to assign to the DHCP option.

", "CreateEgressOnlyInternetGatewayRequest$TagSpecifications": "

The tags to assign to the egress-only internet gateway.

", - "CreateFleetRequest$TagSpecifications": "

The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging Your Resources.

", + "CreateFleetRequest$TagSpecifications": "

The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging your resources.

", "CreateFlowLogsRequest$TagSpecifications": "

The tags to apply to the flow logs.

", "CreateFpgaImageRequest$TagSpecifications": "

The tags to apply to the FPGA image during creation.

", "CreateInstanceExportTaskRequest$TagSpecifications": "

The tags to apply to the instance export task during creation.

", @@ -15399,6 +15478,7 @@ "base": null, "refs": { "AssociateTransitGatewayMulticastDomainRequest$SubnetIds": "

The IDs of the subnets to associate with the transit gateway multicast domain.

", + "ClientVpnConnection$PostureComplianceStatuses": "

The statuses returned by the client connect handler for posture compliance, if applicable.

", "ClientVpnEndpoint$DnsServers": "

Information about the DNS servers to be used for DNS resolution.

", "CoipPool$PoolCidrs": "

The address ranges of the address pool.

", "ConnectionNotification$ConnectionEvents": "

The events for the notification. Valid values are Accept, Connect, Delete, and Reject.

", diff --git a/models/apis/es/2015-01-01/api-2.json b/models/apis/es/2015-01-01/api-2.json index a418911f4a6..48f0f3a5de8 100644 --- a/models/apis/es/2015-01-01/api-2.json +++ b/models/apis/es/2015-01-01/api-2.json @@ -650,7 +650,8 @@ "type":"structure", "members":{ "Enabled":{"shape":"Boolean"}, - "InternalUserDatabaseEnabled":{"shape":"Boolean"} + "InternalUserDatabaseEnabled":{"shape":"Boolean"}, + "SAMLOptions":{"shape":"SAMLOptionsOutput"} } }, "AdvancedSecurityOptionsInput":{ @@ -658,7 +659,8 @@ "members":{ "Enabled":{"shape":"Boolean"}, "InternalUserDatabaseEnabled":{"shape":"Boolean"}, - "MasterUserOptions":{"shape":"MasterUserOptions"} + "MasterUserOptions":{"shape":"MasterUserOptions"}, + "SAMLOptions":{"shape":"SAMLOptionsInput"} } }, "AdvancedSecurityOptionsStatus":{ @@ -697,6 +699,11 @@ "DomainPackageDetails":{"shape":"DomainPackageDetails"} } }, + "BackendRole":{ + "type":"string", + "max":256, + "min":1 + }, "BaseException":{ "type":"structure", "members":{ @@ -2101,6 +2108,49 @@ "min":3 }, "S3Key":{"type":"string"}, + "SAMLEntityId":{ + "type":"string", + "max":512, + "min":8 + }, + "SAMLIdp":{ + "type":"structure", + "required":[ + "MetadataContent", + "EntityId" + ], + "members":{ + "MetadataContent":{"shape":"SAMLMetadata"}, + "EntityId":{"shape":"SAMLEntityId"} + } + }, + "SAMLMetadata":{ + "type":"string", + "max":1048576, + "min":1 + }, + "SAMLOptionsInput":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "Idp":{"shape":"SAMLIdp"}, + "MasterUserName":{"shape":"Username"}, + "MasterBackendRole":{"shape":"BackendRole"}, + "SubjectKey":{"shape":"String"}, + "RolesKey":{"shape":"String"}, + "SessionTimeoutMinutes":{"shape":"IntegerClass"} + } + }, + "SAMLOptionsOutput":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "Idp":{"shape":"SAMLIdp"}, + "SubjectKey":{"shape":"String"}, + "RolesKey":{"shape":"String"}, + "SessionTimeoutMinutes":{"shape":"IntegerClass"} + } + }, "ServiceSoftwareOptions":{ "type":"structure", "members":{ diff --git a/models/apis/es/2015-01-01/docs-2.json b/models/apis/es/2015-01-01/docs-2.json index 30a412d0a1d..f2cc24a3555 100644 --- a/models/apis/es/2015-01-01/docs-2.json +++ b/models/apis/es/2015-01-01/docs-2.json @@ -134,6 +134,12 @@ "refs": { } }, + "BackendRole": { + "base": null, + "refs": { + "SAMLOptionsInput$MasterBackendRole": "

The backend role to which the SAML master user is mapped to.

" + } + }, "BaseException": { "base": "

An error occurred while processing the request.

", "refs": { @@ -160,6 +166,8 @@ "LogPublishingOption$Enabled": "

Specifies whether given log publishing option is enabled or not.

", "NodeToNodeEncryptionOptions$Enabled": "

Specify true to enable node-to-node encryption.

", "OptionStatus$PendingDeletion": "

Indicates whether the Elasticsearch domain is being deleted.

", + "SAMLOptionsInput$Enabled": "

True if SAML is enabled.

", + "SAMLOptionsOutput$Enabled": "

True if SAML is enabled.

", "ServiceSoftwareOptions$UpdateAvailable": "

True if you are able to update you service software version. False if you are not able to update your service software version.

", "ServiceSoftwareOptions$Cancellable": "

True if you are able to cancel your service software version update. False if you are not able to cancel your service software version.

", "ServiceSoftwareOptions$OptionalDeployment": "

True if a service software is never automatically updated. False if a service software is automatically updated after AutomatedUpdateDate.

", @@ -845,6 +853,8 @@ "ElasticsearchClusterConfig$InstanceCount": "

The number of instances in the specified domain cluster.

", "ElasticsearchClusterConfig$DedicatedMasterCount": "

Total number of dedicated master nodes, active and on standby, for the cluster.

", "ElasticsearchClusterConfig$WarmCount": "

The number of warm nodes in the cluster.

", + "SAMLOptionsInput$SessionTimeoutMinutes": "

The duration, in minutes, after which a user session becomes inactive. Acceptable values are between 1 and 1440, and the default value is 60.

", + "SAMLOptionsOutput$SessionTimeoutMinutes": "

The duration, in minutes, after which a user session becomes inactive.

", "SnapshotOptions$AutomatedSnapshotStartHour": "

Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours.

", "ZoneAwarenessConfig$AvailabilityZoneCount": "

An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled

" } @@ -1329,6 +1339,37 @@ "PackageSource$S3Key": "

Key (file name) of the package.

" } }, + "SAMLEntityId": { + "base": null, + "refs": { + "SAMLIdp$EntityId": "

The unique Entity ID of the application in SAML Identity Provider.

" + } + }, + "SAMLIdp": { + "base": "

Specifies the SAML Identity Provider's information.

", + "refs": { + "SAMLOptionsInput$Idp": "

Specifies the SAML Identity Provider's information.

", + "SAMLOptionsOutput$Idp": "

Describes the SAML Identity Provider's information.

" + } + }, + "SAMLMetadata": { + "base": null, + "refs": { + "SAMLIdp$MetadataContent": "

The Metadata of the SAML application in xml format.

" + } + }, + "SAMLOptionsInput": { + "base": "

Specifies the SAML application configuration for the domain.

", + "refs": { + "AdvancedSecurityOptionsInput$SAMLOptions": "

Specifies the SAML application configuration for the domain.

" + } + }, + "SAMLOptionsOutput": { + "base": "

Describes the SAML application configured for the domain.

", + "refs": { + "AdvancedSecurityOptions$SAMLOptions": "

Describes the SAML application configured for a domain.

" + } + }, "ServiceSoftwareOptions": { "base": "

The current options of an Elasticsearch domain service software options.

", "refs": { @@ -1427,6 +1468,10 @@ "ReservedElasticsearchInstance$CurrencyCode": "

The currency code for the reserved Elasticsearch instance offering.

", "ReservedElasticsearchInstance$State": "

The state of the reserved Elasticsearch instance.

", "ReservedElasticsearchInstanceOffering$CurrencyCode": "

The currency code for the reserved Elasticsearch instance offering.

", + "SAMLOptionsInput$SubjectKey": "

The key to use for matching the SAML Subject attribute.

", + "SAMLOptionsInput$RolesKey": "

The key to use for matching the SAML Roles attribute.

", + "SAMLOptionsOutput$SubjectKey": "

The key used for matching the SAML Subject attribute.

", + "SAMLOptionsOutput$RolesKey": "

The key used for matching the SAML Roles attribute.

", "ServiceSoftwareOptions$CurrentVersion": "

The current service software version that is present on the domain.

", "ServiceSoftwareOptions$NewVersion": "

The new service software version if one is available.

", "ServiceSoftwareOptions$Description": "

The description of the UpdateStatus.

", @@ -1565,7 +1610,8 @@ "Username": { "base": null, "refs": { - "MasterUserOptions$MasterUserName": "

The master user's username, which is stored in the Amazon Elasticsearch Service domain's internal database.

" + "MasterUserOptions$MasterUserName": "

The master user's username, which is stored in the Amazon Elasticsearch Service domain's internal database.

", + "SAMLOptionsInput$MasterUserName": "

The SAML master username, which is stored in the Amazon Elasticsearch Service domain's internal database.

" } }, "VPCDerivedInfo": { diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index 135cd3b1a1e..6af3cd1a146 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -2488,7 +2488,8 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} ] }, "ListThingGroupsForThing":{ @@ -2502,7 +2503,8 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} ] }, "ListThingPrincipals":{ @@ -2610,7 +2612,8 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} ] }, "ListTopicRuleDestinations":{ @@ -8797,6 +8800,16 @@ "type":"structure", "required":["thingName"], "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "location":"querystring", + "locationName":"maxResults" + }, "thingName":{ "shape":"ThingName", "location":"uri", @@ -8807,7 +8820,8 @@ "ListThingPrincipalsResponse":{ "type":"structure", "members":{ - "principals":{"shape":"Principals"} + "principals":{"shape":"Principals"}, + "nextToken":{"shape":"NextToken"} } }, "ListThingRegistrationTaskReportsRequest":{ diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index 26948b8e058..d3a0117db53 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -4593,8 +4593,8 @@ "ListAuditSuppressionsResponse$nextToken": "

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

", "ListAuditTasksRequest$nextToken": "

The token for the next set of results.

", "ListAuditTasksResponse$nextToken": "

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

", - "ListBillingGroupsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListBillingGroupsResponse$nextToken": "

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

", + "ListBillingGroupsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListBillingGroupsResponse$nextToken": "

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

", "ListDimensionsRequest$nextToken": "

The token for the next set of results.

", "ListDimensionsResponse$nextToken": "

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

", "ListIndicesRequest$nextToken": "

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

", @@ -4609,8 +4609,8 @@ "ListMitigationActionsResponse$nextToken": "

The token for the next set of results.

", "ListOTAUpdatesRequest$nextToken": "

A token used to retrieve the next set of results.

", "ListOTAUpdatesResponse$nextToken": "

A token to use to get the next set of results.

", - "ListPrincipalThingsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListPrincipalThingsResponse$nextToken": "

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

", + "ListPrincipalThingsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListPrincipalThingsResponse$nextToken": "

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

", "ListProvisioningTemplateVersionsRequest$nextToken": "

A token to retrieve the next set of results.

", "ListProvisioningTemplateVersionsResponse$nextToken": "

A token to retrieve the next set of results.

", "ListProvisioningTemplatesRequest$nextToken": "

A token to retrieve the next set of results.

", @@ -4623,32 +4623,34 @@ "ListSecurityProfilesResponse$nextToken": "

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

", "ListStreamsRequest$nextToken": "

A token used to get the next set of results.

", "ListStreamsResponse$nextToken": "

A token used to get the next set of results.

", - "ListTagsForResourceRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListTagsForResourceResponse$nextToken": "

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

", + "ListTagsForResourceRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListTagsForResourceResponse$nextToken": "

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

", "ListTargetsForSecurityProfileRequest$nextToken": "

The token for the next set of results.

", "ListTargetsForSecurityProfileResponse$nextToken": "

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

", - "ListThingGroupsForThingRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingGroupsForThingResponse$nextToken": "

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

", - "ListThingGroupsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingGroupsResponse$nextToken": "

The token used to get the next set of results. Will not be returned if operation has returned all results.

", - "ListThingRegistrationTaskReportsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingRegistrationTaskReportsResponse$nextToken": "

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

", - "ListThingRegistrationTasksRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingRegistrationTasksResponse$nextToken": "

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

", - "ListThingTypesRequest$nextToken": "

The token to retrieve the next set of results.

", + "ListThingGroupsForThingRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingGroupsForThingResponse$nextToken": "

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

", + "ListThingGroupsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingGroupsResponse$nextToken": "

The token to use to get the next set of results. Will not be returned if operation has returned all results.

", + "ListThingPrincipalsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingPrincipalsResponse$nextToken": "

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

", + "ListThingRegistrationTaskReportsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingRegistrationTaskReportsResponse$nextToken": "

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

", + "ListThingRegistrationTasksRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingRegistrationTasksResponse$nextToken": "

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

", + "ListThingTypesRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", "ListThingTypesResponse$nextToken": "

The token for the next set of results. Will not be returned if operation has returned all results.

", - "ListThingsInBillingGroupRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingsInBillingGroupResponse$nextToken": "

The token used to get the next set of results. Will not be returned if operation has returned all results.

", - "ListThingsInThingGroupRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingsInThingGroupResponse$nextToken": "

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

", - "ListThingsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingsResponse$nextToken": "

The token used to get the next set of results. Will not be returned if operation has returned all results.

", - "ListTopicRuleDestinationsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListTopicRuleDestinationsResponse$nextToken": "

The token to retrieve the next set of results.

", - "ListTopicRulesRequest$nextToken": "

A token used to retrieve the next value.

", - "ListTopicRulesResponse$nextToken": "

A token used to retrieve the next value.

", - "ListV2LoggingLevelsRequest$nextToken": "

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

", - "ListV2LoggingLevelsResponse$nextToken": "

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

", + "ListThingsInBillingGroupRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingsInBillingGroupResponse$nextToken": "

The token to use to get the next set of results. Will not be returned if operation has returned all results.

", + "ListThingsInThingGroupRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingsInThingGroupResponse$nextToken": "

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

", + "ListThingsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListThingsResponse$nextToken": "

The token to use to get the next set of results. Will not be returned if operation has returned all results.

", + "ListTopicRuleDestinationsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListTopicRuleDestinationsResponse$nextToken": "

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

", + "ListTopicRulesRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListTopicRulesResponse$nextToken": "

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

", + "ListV2LoggingLevelsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListV2LoggingLevelsResponse$nextToken": "

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

", "ListViolationEventsRequest$nextToken": "

The token for the next set of results.

", "ListViolationEventsResponse$nextToken": "

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

", "SearchIndexRequest$nextToken": "

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

", @@ -5354,6 +5356,7 @@ "ListPrincipalThingsRequest$maxResults": "

The maximum number of results to return in this operation.

", "ListThingGroupsForThingRequest$maxResults": "

The maximum number of results to return at one time.

", "ListThingGroupsRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListThingPrincipalsRequest$maxResults": "

The maximum number of results to return in this operation.

", "ListThingRegistrationTaskReportsRequest$maxResults": "

The maximum number of results to return per request.

", "ListThingRegistrationTasksRequest$maxResults": "

The maximum number of results to return at one time.

", "ListThingTypesRequest$maxResults": "

The maximum number of results to return in this operation.

", diff --git a/models/apis/iot/2015-05-28/paginators-1.json b/models/apis/iot/2015-05-28/paginators-1.json index ad854f2b1ad..c4c12bf3f80 100644 --- a/models/apis/iot/2015-05-28/paginators-1.json +++ b/models/apis/iot/2015-05-28/paginators-1.json @@ -221,6 +221,12 @@ "output_token": "nextToken", "result_key": "thingGroups" }, + "ListThingPrincipals": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "principals" + }, "ListThingRegistrationTaskReports": { "input_token": "nextToken", "limit_key": "maxResults", diff --git a/models/apis/meteringmarketplace/2016-01-14/api-2.json b/models/apis/meteringmarketplace/2016-01-14/api-2.json index 321b693d018..ff97ea35e2e 100644 --- a/models/apis/meteringmarketplace/2016-01-14/api-2.json +++ b/models/apis/meteringmarketplace/2016-01-14/api-2.json @@ -25,6 +25,8 @@ {"shape":"InternalServiceErrorException"}, {"shape":"InvalidProductCodeException"}, {"shape":"InvalidUsageDimensionException"}, + {"shape":"InvalidTagException"}, + {"shape":"InvalidUsageAllocationsException"}, {"shape":"InvalidCustomerIdentifierException"}, {"shape":"TimestampOutOfBoundsException"}, {"shape":"ThrottlingException"}, @@ -43,6 +45,8 @@ {"shape":"InternalServiceErrorException"}, {"shape":"InvalidProductCodeException"}, {"shape":"InvalidUsageDimensionException"}, + {"shape":"InvalidTagException"}, + {"shape":"InvalidUsageAllocationsException"}, {"shape":"InvalidEndpointRegionException"}, {"shape":"TimestampOutOfBoundsException"}, {"shape":"DuplicateRequestException"}, @@ -87,6 +91,11 @@ } }, "shapes":{ + "AllocatedUsageQuantity":{ + "type":"integer", + "max":2147483647, + "min":0 + }, "BatchMeterUsageRequest":{ "type":"structure", "required":[ @@ -109,7 +118,8 @@ "CustomerIdentifier":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":"[\\s\\S]+" }, "CustomerNotEntitledException":{ "type":"structure", @@ -182,6 +192,13 @@ }, "exception":true }, + "InvalidTagException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, "InvalidTokenException":{ "type":"structure", "members":{ @@ -189,6 +206,13 @@ }, "exception":true }, + "InvalidUsageAllocationsException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, "InvalidUsageDimensionException":{ "type":"structure", "members":{ @@ -208,7 +232,8 @@ "Timestamp":{"shape":"Timestamp"}, "UsageDimension":{"shape":"UsageDimension"}, "UsageQuantity":{"shape":"UsageQuantity"}, - "DryRun":{"shape":"Boolean"} + "DryRun":{"shape":"Boolean"}, + "UsageAllocations":{"shape":"UsageAllocations"} } }, "MeterUsageResult":{ @@ -219,11 +244,12 @@ }, "NonEmptyString":{ "type":"string", - "pattern":"\\S+" + "pattern":"[\\s\\S]+" }, "Nonce":{ "type":"string", - "max":255 + "max":255, + "pattern":"[\\s\\S]*" }, "PlatformNotSupportedException":{ "type":"structure", @@ -235,7 +261,8 @@ "ProductCode":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":"[\\s\\S]+" }, "RegisterUsageRequest":{ "type":"structure", @@ -271,6 +298,35 @@ } }, "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9+ -=._:\\/@]+$" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":5, + "min":1 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9+ -=._:\\/@]+$" + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -286,10 +342,25 @@ }, "exception":true }, + "UsageAllocation":{ + "type":"structure", + "required":["AllocatedUsageQuantity"], + "members":{ + "AllocatedUsageQuantity":{"shape":"AllocatedUsageQuantity"}, + "Tags":{"shape":"TagList"} + } + }, + "UsageAllocations":{ + "type":"list", + "member":{"shape":"UsageAllocation"}, + "max":500, + "min":1 + }, "UsageDimension":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":"[\\s\\S]+" }, "UsageQuantity":{ "type":"integer", @@ -307,7 +378,8 @@ "Timestamp":{"shape":"Timestamp"}, "CustomerIdentifier":{"shape":"CustomerIdentifier"}, "Dimension":{"shape":"UsageDimension"}, - "Quantity":{"shape":"UsageQuantity"} + "Quantity":{"shape":"UsageQuantity"}, + "UsageAllocations":{"shape":"UsageAllocations"} } }, "UsageRecordList":{ diff --git a/models/apis/meteringmarketplace/2016-01-14/docs-2.json b/models/apis/meteringmarketplace/2016-01-14/docs-2.json index 72d339dbf4d..4fccaa17428 100644 --- a/models/apis/meteringmarketplace/2016-01-14/docs-2.json +++ b/models/apis/meteringmarketplace/2016-01-14/docs-2.json @@ -2,12 +2,18 @@ "version": "2.0", "service": "AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

For information on the permissions you need to use this API, see AWS Marketing metering and entitlement API permissions in the AWS Marketplace Seller Guide.

Submitting Metering Records

Accepting New Customers

Entitlement and Metering for Paid Container Products

BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to verify that the SaaS metering records that you sent are accurate by searching for records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit records over time. For more information, see the AWS CloudTrail User Guide .

", "operations": { - "BatchMeterUsage": "

BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to post metering records for a set of customers.

For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records.

Every request to BatchMeterUsage is for one product. If you need to meter usage for multiple products, you must make multiple calls to BatchMeterUsage.

BatchMeterUsage can process up to 25 UsageRecords at a time.

", - "MeterUsage": "

API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.

MeterUsage is authenticated on the buyer's AWS account using credentials from the EC2 instance, ECS task, or EKS pod.

", + "BatchMeterUsage": "

BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to post metering records for a set of customers.

For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records.

Every request to BatchMeterUsage is for one product. If you need to meter usage for multiple products, you must make multiple calls to BatchMeterUsage.

BatchMeterUsage can process up to 25 UsageRecords at a time.

A UsageRecord can optionally include multiple usage allocations, to provide customers with usagedata split into buckets by tags that you define (or allow the customer to define).

BatchMeterUsage requests must be less than 1MB in size.

", + "MeterUsage": "

API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.

MeterUsage is authenticated on the buyer's AWS account using credentials from the EC2 instance, ECS task, or EKS pod.

MeterUsage can optionally include multiple usage allocations, to provide customers with usage data split into buckets by tags that you define (or allow the customer to define).

", "RegisterUsage": "

Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call RegisterUsage, but you may choose to do so if you would like to receive usage data in your seller reports. The sections below explain the behavior of RegisterUsage. RegisterUsage performs two primary functions: metering and entitlement.

", "ResolveCustomer": "

ResolveCustomer is called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a registration token through their browser. The registration token is resolved through this API to obtain a CustomerIdentifier and product code.

" }, "shapes": { + "AllocatedUsageQuantity": { + "base": null, + "refs": { + "UsageAllocation$AllocatedUsageQuantity": "

The total quantity allocated to this bucket of usage.

" + } + }, "BatchMeterUsageRequest": { "base": "

A BatchMeterUsageRequest contains UsageRecords, which indicate quantities of usage within your application.

", "refs": { @@ -81,11 +87,21 @@ "refs": { } }, + "InvalidTagException": { + "base": "

The tag is invalid, or the number of tags is greater than 5.

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

Registration token is invalid.

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

The usage allocation objects are invalid, or the number of allocations is greater than 500 for a single usage record.

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

The usage dimension does not match one of the UsageDimensions associated with products.

", "refs": { @@ -155,6 +171,30 @@ "UsageRecordResult$MeteringRecordId": "

The MeteringRecordId is a unique identifier for this metering event.

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

Metadata assigned to an allocation. Each tag is made up of a key and a value.

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

One part of a key-value pair that makes up a tag. A key is a label that acts like a category for the specific tag values.

" + } + }, + "TagList": { + "base": null, + "refs": { + "UsageAllocation$Tags": "

The set of tags that define the bucket of usage. For the bucket of items with no tags, this parameter can be left out.

" + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

One part of a key-value pair that makes up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

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

The calls to the API are throttled.

", "refs": { @@ -173,6 +213,19 @@ "refs": { } }, + "UsageAllocation": { + "base": "

Usage allocations allow you to split usage into buckets by tags.

Each UsageAllocation indicates the usage quantity for a specific set of tags.

", + "refs": { + "UsageAllocations$member": null + } + }, + "UsageAllocations": { + "base": null, + "refs": { + "MeterUsageRequest$UsageAllocations": "

The set of UsageAllocations to submit.

The sum of all UsageAllocation quantities must equal the UsageQuantity of the MeterUsage request, and each UsageAllocation must have a unique set of tags (include no tags).

", + "UsageRecord$UsageAllocations": "

The set of UsageAllocations to submit. The sum of all UsageAllocation quantities must equal the Quantity of the UsageRecord.

" + } + }, "UsageDimension": { "base": null, "refs": { @@ -238,7 +291,9 @@ "InvalidProductCodeException$message": null, "InvalidPublicKeyVersionException$message": null, "InvalidRegionException$message": null, + "InvalidTagException$message": null, "InvalidTokenException$message": null, + "InvalidUsageAllocationsException$message": null, "InvalidUsageDimensionException$message": null, "PlatformNotSupportedException$message": null, "ThrottlingException$message": null, diff --git a/models/apis/monitoring/2010-08-01/docs-2.json b/models/apis/monitoring/2010-08-01/docs-2.json index 245ef26c63f..7d658ae94cf 100644 --- a/models/apis/monitoring/2010-08-01/docs-2.json +++ b/models/apis/monitoring/2010-08-01/docs-2.json @@ -8,9 +8,9 @@ "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.

", - "DescribeAlarmsForMetric": "

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

", + "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. All rules in your account are returned with a single operation.

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

", + "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.

", "DisableAlarmActions": "

Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes.

", "DisableInsightRules": "

Disables the specified Contributor Insights rules. When rules are disabled, they do not analyze log groups and do not incur costs.

", "EnableAlarmActions": "

Enables the actions for the specified alarms.

", @@ -28,7 +28,7 @@ "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.

", - "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.

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:

", + "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.

", "UntagResource": "

Removes one or more tags from the specified resource.

" @@ -146,7 +146,7 @@ "base": "

The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude from use for training the model and the time zone to use for the metric.

", "refs": { "AnomalyDetector$Configuration": "

The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude from use for training the model, and the time zone to use for the metric.

", - "PutAnomalyDetectorInput$Configuration": "

The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. You can specify as many as 10 time ranges.

The configuration can also include the time zone to use for the metric.

You can in

" + "PutAnomalyDetectorInput$Configuration": "

The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. You can specify as many as 10 time ranges.

The configuration can also include the time zone to use for the metric.

" } }, "AnomalyDetectorExcludedTimeRanges": { @@ -461,7 +461,7 @@ "DimensionFilters": { "base": null, "refs": { - "ListMetricsInput$Dimensions": "

The dimensions to filter against.

" + "ListMetricsInput$Dimensions": "

The dimensions to filter against. Only the dimensions that match exactly will be returned.

" } }, "DimensionName": { @@ -474,7 +474,7 @@ "DimensionValue": { "base": null, "refs": { - "Dimension$Value": "

The value of the dimension.

", + "Dimension$Value": "

The value of the dimension. Dimension values cannot contain blank spaces or non-ASCII characters.

", "DimensionFilter$Value": "

The value of the dimension to be matched.

" } }, @@ -737,7 +737,7 @@ "InsightRuleMaxResults": { "base": null, "refs": { - "DescribeInsightRulesInput$MaxResults": "

This parameter is not currently used. Reserved for future use. If it is used in the future, the maximum value might be different.

" + "DescribeInsightRulesInput$MaxResults": "

The maximum number of results to return in one operation. If you omit this parameter, the default of 500 is used.

" } }, "InsightRuleMetricDatapoint": { @@ -971,8 +971,8 @@ "base": null, "refs": { "GetMetricDataInput$MetricDataQueries": "

The metric queries to be returned. A single GetMetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, or a math expression to perform on retrieved data.

", - "MetricAlarm$Metrics": "

An array of MetricDataQuery structures, used in an alarm based on a metric math expression. Each structure either retrieves a metric or performs a math expression. One item in the Metrics array is the math expression that the alarm watches. This expression by designated by having ReturnValue set to true.

", - "PutMetricAlarmInput$Metrics": "

An array of MetricDataQuery structures that enable you to create an alarm based on the result of a metric math expression. For each PutMetricAlarm operation, you must specify either MetricName or a Metrics array.

Each item in the Metrics array either retrieves a metric or performs a math expression.

One item in the Metrics array is the expression that the alarm watches. You designate this expression by setting ReturnValue to true for this object in the array. For more information, see MetricDataQuery.

If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. Instead, you retrieve the metrics you are using in your math expression as part of the Metrics array.

" + "MetricAlarm$Metrics": "

An array of MetricDataQuery structures, used in an alarm based on a metric math expression. Each structure either retrieves a metric or performs a math expression. One item in the Metrics array is the math expression that the alarm watches. This expression by designated by having ReturnData set to true.

", + "PutMetricAlarmInput$Metrics": "

An array of MetricDataQuery structures that enable you to create an alarm based on the result of a metric math expression. For each PutMetricAlarm operation, you must specify either MetricName or a Metrics array.

Each item in the Metrics array either retrieves a metric or performs a math expression.

One item in the Metrics array is the expression that the alarm watches. You designate this expression by setting ReturnData to true for this object in the array. For more information, see MetricDataQuery.

If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. Instead, you retrieve the metrics you are using in your math expression as part of the Metrics array.

" } }, "MetricDataQuery": { @@ -1037,7 +1037,7 @@ "DescribeAlarmsForMetricInput$MetricName": "

The name of the metric.

", "DescribeAnomalyDetectorsInput$MetricName": "

Limits the results to only the anomaly detection models that are associated with the specified metric name. If there are multiple metrics with this name in different namespaces that have anomaly detection models, they're all returned.

", "GetMetricStatisticsInput$MetricName": "

The name of the metric, with or without spaces.

", - "ListMetricsInput$MetricName": "

The name of the metric to filter against.

", + "ListMetricsInput$MetricName": "

The name of the metric to filter against. Only the metrics with names that match exactly will be returned.

", "Metric$MetricName": "

The name of the metric. This is a required field.

", "MetricAlarm$MetricName": "

The name of the metric associated with the alarm, if this is an alarm based on a single metric.

", "MetricDatum$MetricName": "

The name of the metric.

", @@ -1082,7 +1082,7 @@ "DescribeAlarmsForMetricInput$Namespace": "

The namespace of the metric.

", "DescribeAnomalyDetectorsInput$Namespace": "

Limits the results to only the anomaly detection models that are associated with the specified namespace.

", "GetMetricStatisticsInput$Namespace": "

The namespace of the metric, with or without spaces.

", - "ListMetricsInput$Namespace": "

The namespace to filter against.

", + "ListMetricsInput$Namespace": "

The metric namespace to filter against. Only the namespace that matches exactly will be returned.

", "Metric$Namespace": "

The namespace of the metric.

", "MetricAlarm$Namespace": "

The namespace of the metric associated with the alarm.

", "PutAnomalyDetectorInput$Namespace": "

The namespace of the metric to create the anomaly detection model for.

", @@ -1099,9 +1099,9 @@ "DescribeAlarmsOutput$NextToken": "

The token that marks the start of the next batch of returned results.

", "DescribeAnomalyDetectorsInput$NextToken": "

Use the token returned by the previous operation to request the next page of results.

", "DescribeAnomalyDetectorsOutput$NextToken": "

A token that you can use in a subsequent operation to retrieve the next set of results.

", - "DescribeInsightRulesInput$NextToken": "

Reserved for future use.

", - "DescribeInsightRulesOutput$NextToken": "

Reserved for future use.

", - "GetMetricDataInput$NextToken": "

Include this value, if it was returned by the previous call, to get the next set of data points.

", + "DescribeInsightRulesInput$NextToken": "

Include this value, if it was returned by the previous operation, to get the next set of rules.

", + "DescribeInsightRulesOutput$NextToken": "

If this parameter is present, it is a token that marks the start of the next batch of returned results.

", + "GetMetricDataInput$NextToken": "

Include this value, if it was returned by the previous GetMetricData operation, to get the next set of data points.

", "GetMetricDataOutput$NextToken": "

A token that marks the next batch of returned results.

", "ListDashboardsInput$NextToken": "

The token returned by a previous call to indicate that there is more data available.

", "ListDashboardsOutput$NextToken": "

The token that marks the start of the next batch of returned results.

", diff --git a/models/apis/mq/2017-11-27/api-2.json b/models/apis/mq/2017-11-27/api-2.json index 9dd062b0cf4..3632145b674 100644 --- a/models/apis/mq/2017-11-27/api-2.json +++ b/models/apis/mq/2017-11-27/api-2.json @@ -673,6 +673,10 @@ "shape" : "DeploymentMode", "locationName" : "deploymentMode" }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType" + }, "HostInstanceType" : { "shape" : "__string", "locationName" : "hostInstanceType" @@ -1225,7 +1229,7 @@ }, "DeploymentMode" : { "type" : "string", - "enum" : [ "SINGLE_INSTANCE", "ACTIVE_STANDBY_MULTI_AZ" ] + "enum" : [ "SINGLE_INSTANCE", "ACTIVE_STANDBY_MULTI_AZ", "CLUSTER_MULTI_AZ" ] }, "DescribeBrokerEngineTypesRequest" : { "type" : "structure", @@ -1752,7 +1756,7 @@ }, "EngineType" : { "type" : "string", - "enum" : [ "ACTIVEMQ" ] + "enum" : [ "ACTIVEMQ", "RABBITMQ" ] }, "EngineVersion" : { "type" : "structure", diff --git a/models/apis/mq/2017-11-27/docs-2.json b/models/apis/mq/2017-11-27/docs-2.json index 3e4d1eff35c..f6461a6472a 100644 --- a/models/apis/mq/2017-11-27/docs-2.json +++ b/models/apis/mq/2017-11-27/docs-2.json @@ -1,6 +1,6 @@ { "version" : "2.0", - "service" : "Amazon MQ is a managed message broker service for Apache ActiveMQ that makes it easy to set up and operate message brokers in the cloud. A message broker allows software applications and components to communicate using various programming languages, operating systems, and formal messaging protocols.", + "service" : "Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud. A message broker allows software applications and components to communicate using various programming languages, operating systems, and formal messaging protocols.", "operations" : { "CreateBroker" : "Creates a broker. Note: This API is asynchronous.", "CreateConfiguration" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version).", @@ -83,7 +83,7 @@ } }, "BrokerStorageType" : { - "base" : "The storage type of the broker.", + "base" : "The storage type of the broker. EFS is currently not Supported for RabbitMQ engine type.", "refs" : { "BrokerInstanceOption$StorageType" : "The broker's storage type.", "CreateBrokerInput$StorageType" : "The broker's storage type.", @@ -100,7 +100,7 @@ "base" : "The type of change pending for the ActiveMQ user.", "refs" : { "UserPendingChanges$PendingChange" : "Required. The type of change pending for the ActiveMQ user.", - "UserSummary$PendingChange" : "The type of change pending for the ActiveMQ user." + "UserSummary$PendingChange" : "The type of change pending for the broker user." } }, "Configuration" : { @@ -110,7 +110,7 @@ } }, "ConfigurationId" : { - "base" : "A list of information about the configuration.", + "base" : "A list of information about the configuration. Does not apply to RabbitMQ brokers.", "refs" : { "Configurations$Current" : "The current configuration of the broker.", "Configurations$Pending" : "The pending configuration of the broker.", @@ -198,14 +198,15 @@ } }, "EngineType" : { - "base" : "The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.", + "base" : "The type of broker engine. Note: Currently, Amazon MQ supports ActiveMQ and RabbitMQ.", "refs" : { "BrokerEngineType$EngineType" : "The type of broker engine.", "BrokerInstanceOption$EngineType" : "The type of broker engine.", - "Configuration$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ.", - "CreateBrokerInput$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ.", - "CreateConfigurationInput$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ.", - "DescribeBrokerOutput$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + "BrokerSummary$EngineType" : "Required. The type of broker engine.", + "Configuration$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.", + "CreateBrokerInput$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.", + "CreateConfigurationInput$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.", + "DescribeBrokerOutput$EngineType" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ." } }, "EngineVersion" : { @@ -227,7 +228,7 @@ "refs" : { } }, "LdapServerMetadataInput" : { - "base" : "The metadata of the LDAP server used to authenticate and authorize connections to the broker.", + "base" : "The metadata of the LDAP server used to authenticate and authorize connections to the broker. Currently not supported for RabbitMQ engine type.", "refs" : { "CreateBrokerInput$LdapServerMetadata" : "The metadata of the LDAP server used to authenticate and authorize connections to the broker.", "UpdateBrokerInput$LdapServerMetadata" : "The metadata of the LDAP server used to authenticate and authorize connections to the broker." @@ -322,7 +323,7 @@ "refs" : { } }, "User" : { - "base" : "An ActiveMQ user associated with the broker.", + "base" : "A user associated with the broker.", "refs" : { "__listOfUser$member" : null } @@ -334,7 +335,7 @@ } }, "UserSummary" : { - "base" : "Returns a list of all ActiveMQ users.", + "base" : "Returns a list of all broker users.", "refs" : { "__listOfUserSummary$member" : null } @@ -351,7 +352,7 @@ "refs" : { "CreateBrokerInput$AutoMinorVersionUpgrade" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot.", "CreateBrokerInput$PubliclyAccessible" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets.", - "CreateUserInput$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", + "CreateUserInput$ConsoleAccess" : "Enables access to the ActiveMQ Web Console for the ActiveMQ user.", "DescribeBrokerOutput$AutoMinorVersionUpgrade" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot.", "DescribeBrokerOutput$PubliclyAccessible" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets.", "DescribeUserOutput$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", @@ -360,7 +361,7 @@ "LdapServerMetadataInput$UserSearchSubtree" : "The directory search scope for the user. If set to true, scope is to search the entire sub-tree.", "LdapServerMetadataOutput$RoleSearchSubtree" : "The directory search scope for the role. If set to true, scope is to search the entire sub-tree.", "LdapServerMetadataOutput$UserSearchSubtree" : "The directory search scope for the user. If set to true, scope is to search the entire sub-tree.", - "Logs$Audit" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.", + "Logs$Audit" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.", "Logs$General" : "Enables general logging.", "LogsSummary$Audit" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.", "LogsSummary$General" : "Enables general logging.", @@ -369,7 +370,7 @@ "UpdateBrokerInput$AutoMinorVersionUpgrade" : "Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot.", "UpdateBrokerOutput$AutoMinorVersionUpgrade" : "The new value of automatic upgrades to new minor version for brokers.", "UpdateUserInput$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", - "User$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", + "User$ConsoleAccess" : "Enables access to the ActiveMQ Web Console for the ActiveMQ user (Does not apply to RabbitMQ brokers).", "UserPendingChanges$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." } }, @@ -459,13 +460,13 @@ "__listOfUser" : { "base" : null, "refs" : { - "CreateBrokerInput$Users" : "Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + "CreateBrokerInput$Users" : "Required. The list of broker users (persons or applications) who can access queues and topics. For RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ Web Console. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." } }, "__listOfUserSummary" : { "base" : null, "refs" : { - "DescribeBrokerOutput$Users" : "The list of all ActiveMQ usernames for the specified broker.", + "DescribeBrokerOutput$Users" : "The list of all broker usernames for the specified broker.", "ListUsersOutput$Users" : "Required. The list of all ActiveMQ usernames for the specified broker." } }, @@ -475,11 +476,11 @@ "BrokerInstance$Endpoints" : "The broker's wire-level protocol endpoints.", "BrokerInstanceOption$SupportedEngineVersions" : "The list of supported engine versions.", "CreateBrokerInput$SecurityGroups" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.", - "CreateBrokerInput$SubnetIds" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.", + "CreateBrokerInput$SubnetIds" : "The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment (ACTIVEMQ) requires two subnets. A CLUSTER_MULTI_AZ deployment (RABBITMQ) has no subnet requirements when deployed with public accessibility, deployment without public accessibility requires at least one subnet.", "CreateUserInput$Groups" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.", "DescribeBrokerOutput$PendingSecurityGroups" : "The list of pending security groups to authorize connections to brokers.", "DescribeBrokerOutput$SecurityGroups" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.", - "DescribeBrokerOutput$SubnetIds" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.", + "DescribeBrokerOutput$SubnetIds" : "The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment (ACTIVEMQ) requires two subnets. A CLUSTER_MULTI_AZ deployment (RABBITMQ) has no subnet requirements when deployed with public accessibility, deployment without public accessibility requires at least one subnet.", "DescribeUserOutput$Groups" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.", "LdapServerMetadataInput$Hosts" : "Fully qualified domain name of the LDAP server. Optional failover server.", "LdapServerMetadataOutput$Hosts" : "Fully qualified domain name of the LDAP server. Optional failover server.", @@ -505,8 +506,8 @@ "refs" : { "AvailabilityZone$Name" : "Id for the availability zone.", "BrokerEngineTypeOutput$NextToken" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", - "BrokerInstance$ConsoleURL" : "The URL of the broker's ActiveMQ Web Console.", - "BrokerInstance$IpAddress" : "The IP address of the Elastic Network Interface (ENI) attached to the broker.", + "BrokerInstance$ConsoleURL" : "The URL of the broker's Web Console.", + "BrokerInstance$IpAddress" : "The IP address of the Elastic Network Interface (ENI) attached to the broker. Does not apply to RabbitMQ brokers", "BrokerInstanceOption$HostInstanceType" : "The type of broker instance.", "BrokerInstanceOptionsOutput$NextToken" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", "BrokerSummary$BrokerArn" : "The Amazon Resource Name (ARN) of the broker.", @@ -585,9 +586,9 @@ "UpdateConfigurationOutput$Id" : "Required. The unique ID that Amazon MQ generates for the configuration.", "UpdateConfigurationOutput$Name" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.", "UpdateUserInput$Password" : "The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas.", - "User$Password" : "Required. The password of the ActiveMQ user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas.", - "User$Username" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.", - "UserSummary$Username" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.", + "User$Password" : "Required. The password of the broker user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas.", + "User$Username" : "Required. The username of the broker user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.", + "UserSummary$Username" : "Required. The username of the broker user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.", "WeeklyStartTime$TimeOfDay" : "Required. The time, in 24-hour format.", "WeeklyStartTime$TimeZone" : "The time zone, UTC by default, in either the Country/City format, or the UTC offset format.", "__listOf__string$member" : null, diff --git a/models/apis/servicecatalog/2015-12-10/api-2.json b/models/apis/servicecatalog/2015-12-10/api-2.json index 8842fecbba2..fb0c9a09c70 100644 --- a/models/apis/servicecatalog/2015-12-10/api-2.json +++ b/models/apis/servicecatalog/2015-12-10/api-2.json @@ -2410,7 +2410,7 @@ "PortfolioId":{"shape":"Id"}, "OrganizationParentId":{"shape":"Id"}, "PageToken":{"shape":"PageToken"}, - "PageSize":{"shape":"PageSize"} + "PageSize":{"shape":"PageSizeMax100"} } }, "ListPortfolioAccessOutput":{ @@ -2698,6 +2698,11 @@ "max":20, "min":0 }, + "PageSizeMax100":{ + "type":"integer", + "max":100, + "min":0 + }, "PageToken":{ "type":"string", "max":2024, diff --git a/models/apis/servicecatalog/2015-12-10/docs-2.json b/models/apis/servicecatalog/2015-12-10/docs-2.json index 4a98e4727ef..0e984f58194 100644 --- a/models/apis/servicecatalog/2015-12-10/docs-2.json +++ b/models/apis/servicecatalog/2015-12-10/docs-2.json @@ -1532,7 +1532,6 @@ "ListConstraintsForPortfolioInput$PageSize": "

The maximum number of items to return with this call.

", "ListLaunchPathsInput$PageSize": "

The maximum number of items to return with this call.

", "ListOrganizationPortfolioAccessInput$PageSize": "

The maximum number of items to return with this call.

", - "ListPortfolioAccessInput$PageSize": "

The maximum number of items to return with this call.

", "ListPortfoliosForProductInput$PageSize": "

The maximum number of items to return with this call.

", "ListPortfoliosInput$PageSize": "

The maximum number of items to return with this call.

", "ListPrincipalsForPortfolioInput$PageSize": "

The maximum number of items to return with this call.

", @@ -1549,6 +1548,12 @@ "SearchProductsInput$PageSize": "

The maximum number of items to return with this call.

" } }, + "PageSizeMax100": { + "base": null, + "refs": { + "ListPortfolioAccessInput$PageSize": "

The maximum number of items to return with this call.

" + } + }, "PageToken": { "base": null, "refs": { @@ -2013,7 +2018,7 @@ "ProvisionedProductProperties": { "base": null, "refs": { - "UpdateProvisionedProductPropertiesInput$ProvisionedProductProperties": "

A map that contains the provisioned product properties to be updated.

The LAUNCH_ROLE key accepts user ARNs and role ARNs. This key allows an administrator to call UpdateProvisionedProductProperties to update the launch role that is associated with a provisioned product. This role is used when an end-user calls a provisioning operation such as UpdateProvisionedProduct, TerminateProvisionedProduct, or ExecuteProvisionedProductServiceAction. Only an ARN role is valid. A user ARN is invalid.

The OWNER key accepts user ARNs and role ARNs. The owner is the user that has permission to see, update, terminate, and execute service actions in the provisioned product.

The administrator can change the owner of a provisioned product to another IAM user within the same account. Both end user owners and administrators can see ownership history of the provisioned product using the ListRecordHistory API. The new owner can describe all past records for the provisioned product using the DescribeRecord API. The previous owner can no longer use DescribeRecord, but can still see the product's history from when he was an owner using ListRecordHistory.

If a provisioned product ownership is assigned to an end user, they can see and perform any action through the API or Service Catalog console such as update, terminate, and execute service actions. If an end user provisions a product and the owner is updated to someone else, they will no longer be able to see or perform any actions through API or the Service Catalog console on that provisioned product.

", + "UpdateProvisionedProductPropertiesInput$ProvisionedProductProperties": "

A map that contains the provisioned product properties to be updated.

The LAUNCH_ROLE key accepts user ARNs and role ARNs. This key allows an administrator to call UpdateProvisionedProductProperties to update the launch role that is associated with a provisioned product. This role is used when an end-user calls a provisioning operation such as UpdateProvisionedProduct, TerminateProvisionedProduct, or ExecuteProvisionedProductServiceAction. Only an ARN role or null is valid. A user ARN is invalid. For example, if an admin user passes null as the value for the key LAUNCH_ROLE, the admin removes the launch role that is associated with the provisioned product. As a result, the end user operations use the credentials of the end user.

The OWNER key accepts user ARNs and role ARNs. The owner is the user that has permission to see, update, terminate, and execute service actions in the provisioned product.

The administrator can change the owner of a provisioned product to another IAM user within the same account. Both end user owners and administrators can see ownership history of the provisioned product using the ListRecordHistory API. The new owner can describe all past records for the provisioned product using the DescribeRecord API. The previous owner can no longer use DescribeRecord, but can still see the product's history from when he was an owner using ListRecordHistory.

If a provisioned product ownership is assigned to an end user, they can see and perform any action through the API or Service Catalog console such as update, terminate, and execute service actions. If an end user provisions a product and the owner is updated to someone else, they will no longer be able to see or perform any actions through API or the Service Catalog console on that provisioned product.

", "UpdateProvisionedProductPropertiesOutput$ProvisionedProductProperties": "

A map that contains the properties updated.

" } }, diff --git a/models/apis/transcribe-streaming/2017-10-26/api-2.json b/models/apis/transcribe-streaming/2017-10-26/api-2.json index deb0876d043..8d95ac941a3 100755 --- a/models/apis/transcribe-streaming/2017-10-26/api-2.json +++ b/models/apis/transcribe-streaming/2017-10-26/api-2.json @@ -116,7 +116,9 @@ "es-US", "fr-CA", "fr-FR", - "en-AU" + "en-AU", + "it-IT", + "de-DE" ] }, "LimitExceededException":{ diff --git a/models/apis/xray/2016-04-12/api-2.json b/models/apis/xray/2016-04-12/api-2.json index b4c4fe15ecb..87fd1c16bfa 100644 --- a/models/apis/xray/2016-04-12/api-2.json +++ b/models/apis/xray/2016-04-12/api-2.json @@ -115,6 +115,58 @@ {"shape":"ThrottledException"} ] }, + "GetInsight":{ + "name":"GetInsight", + "http":{ + "method":"POST", + "requestUri":"/Insight" + }, + "input":{"shape":"GetInsightRequest"}, + "output":{"shape":"GetInsightResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ] + }, + "GetInsightEvents":{ + "name":"GetInsightEvents", + "http":{ + "method":"POST", + "requestUri":"/InsightEvents" + }, + "input":{"shape":"GetInsightEventsRequest"}, + "output":{"shape":"GetInsightEventsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ] + }, + "GetInsightImpactGraph":{ + "name":"GetInsightImpactGraph", + "http":{ + "method":"POST", + "requestUri":"/InsightImpactGraph" + }, + "input":{"shape":"GetInsightImpactGraphRequest"}, + "output":{"shape":"GetInsightImpactGraphResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ] + }, + "GetInsightSummaries":{ + "name":"GetInsightSummaries", + "http":{ + "method":"POST", + "requestUri":"/InsightSummaries" + }, + "input":{"shape":"GetInsightSummariesRequest"}, + "output":{"shape":"GetInsightSummariesResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ] + }, "GetSamplingRules":{ "name":"GetSamplingRules", "http":{ @@ -351,6 +403,16 @@ "key":{"shape":"AnnotationKey"}, "value":{"shape":"ValuesWithServiceIds"} }, + "AnomalousService":{ + "type":"structure", + "members":{ + "ServiceId":{"shape":"ServiceId"} + } + }, + "AnomalousServiceList":{ + "type":"list", + "member":{"shape":"AnomalousService"} + }, "AttributeKey":{ "type":"string", "max":32, @@ -574,6 +636,7 @@ "TotalCount":{"shape":"NullableLong"} } }, + "EventSummaryText":{"type":"string"}, "FaultRootCause":{ "type":"structure", "members":{ @@ -625,6 +688,13 @@ "max":1, "min":0 }, + "ForecastStatistics":{ + "type":"structure", + "members":{ + "FaultCountHigh":{"shape":"NullableLong"}, + "FaultCountLow":{"shape":"NullableLong"} + } + }, "GetEncryptionConfigRequest":{ "type":"structure", "members":{ @@ -667,6 +737,94 @@ "NextToken":{"shape":"String"} } }, + "GetInsightEventsMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "GetInsightEventsRequest":{ + "type":"structure", + "required":["InsightId"], + "members":{ + "InsightId":{"shape":"InsightId"}, + "MaxResults":{"shape":"GetInsightEventsMaxResults"}, + "NextToken":{"shape":"Token"} + } + }, + "GetInsightEventsResult":{ + "type":"structure", + "members":{ + "InsightEvents":{"shape":"InsightEventList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetInsightImpactGraphRequest":{ + "type":"structure", + "required":[ + "InsightId", + "StartTime", + "EndTime" + ], + "members":{ + "InsightId":{"shape":"InsightId"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "NextToken":{"shape":"Token"} + } + }, + "GetInsightImpactGraphResult":{ + "type":"structure", + "members":{ + "InsightId":{"shape":"InsightId"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "ServiceGraphStartTime":{"shape":"Timestamp"}, + "ServiceGraphEndTime":{"shape":"Timestamp"}, + "Services":{"shape":"InsightImpactGraphServiceList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetInsightRequest":{ + "type":"structure", + "required":["InsightId"], + "members":{ + "InsightId":{"shape":"InsightId"} + } + }, + "GetInsightResult":{ + "type":"structure", + "members":{ + "Insight":{"shape":"Insight"} + } + }, + "GetInsightSummariesMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "GetInsightSummariesRequest":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "States":{"shape":"InsightStateList"}, + "GroupARN":{"shape":"GroupARN"}, + "GroupName":{"shape":"GroupName"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "MaxResults":{"shape":"GetInsightSummariesMaxResults"}, + "NextToken":{"shape":"Token"} + } + }, + "GetInsightSummariesResult":{ + "type":"structure", + "members":{ + "InsightSummaries":{"shape":"InsightSummaryList"}, + "NextToken":{"shape":"Token"} + } + }, "GetSamplingRulesRequest":{ "type":"structure", "members":{ @@ -745,6 +903,7 @@ "GroupARN":{"shape":"GroupARN"}, "EntitySelectorExpression":{"shape":"EntitySelectorExpression"}, "Period":{"shape":"NullableInteger"}, + "ForecastStatistics":{"shape":"NullableBoolean"}, "NextToken":{"shape":"String"} } }, @@ -861,6 +1020,110 @@ "ClientIp":{"shape":"String"} } }, + "Insight":{ + "type":"structure", + "members":{ + "InsightId":{"shape":"InsightId"}, + "GroupARN":{"shape":"GroupARN"}, + "GroupName":{"shape":"GroupName"}, + "RootCauseServiceId":{"shape":"ServiceId"}, + "Categories":{"shape":"InsightCategoryList"}, + "State":{"shape":"InsightState"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "Summary":{"shape":"InsightSummaryText"}, + "ClientRequestImpactStatistics":{"shape":"RequestImpactStatistics"}, + "RootCauseServiceRequestImpactStatistics":{"shape":"RequestImpactStatistics"}, + "TopAnomalousServices":{"shape":"AnomalousServiceList"} + } + }, + "InsightCategory":{ + "type":"string", + "enum":["FAULT"] + }, + "InsightCategoryList":{ + "type":"list", + "member":{"shape":"InsightCategory"} + }, + "InsightEvent":{ + "type":"structure", + "members":{ + "Summary":{"shape":"EventSummaryText"}, + "EventTime":{"shape":"Timestamp"}, + "ClientRequestImpactStatistics":{"shape":"RequestImpactStatistics"}, + "RootCauseServiceRequestImpactStatistics":{"shape":"RequestImpactStatistics"}, + "TopAnomalousServices":{"shape":"AnomalousServiceList"} + } + }, + "InsightEventList":{ + "type":"list", + "member":{"shape":"InsightEvent"} + }, + "InsightId":{ + "type":"string", + "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}" + }, + "InsightImpactGraphEdge":{ + "type":"structure", + "members":{ + "ReferenceId":{"shape":"NullableInteger"} + } + }, + "InsightImpactGraphEdgeList":{ + "type":"list", + "member":{"shape":"InsightImpactGraphEdge"} + }, + "InsightImpactGraphService":{ + "type":"structure", + "members":{ + "ReferenceId":{"shape":"NullableInteger"}, + "Type":{"shape":"String"}, + "Name":{"shape":"String"}, + "Names":{"shape":"ServiceNames"}, + "AccountId":{"shape":"String"}, + "Edges":{"shape":"InsightImpactGraphEdgeList"} + } + }, + "InsightImpactGraphServiceList":{ + "type":"list", + "member":{"shape":"InsightImpactGraphService"} + }, + "InsightState":{ + "type":"string", + "enum":[ + "ACTIVE", + "CLOSED" + ] + }, + "InsightStateList":{ + "type":"list", + "member":{"shape":"InsightState"}, + "max":1, + "min":0 + }, + "InsightSummary":{ + "type":"structure", + "members":{ + "InsightId":{"shape":"InsightId"}, + "GroupARN":{"shape":"GroupARN"}, + "GroupName":{"shape":"GroupName"}, + "RootCauseServiceId":{"shape":"ServiceId"}, + "Categories":{"shape":"InsightCategoryList"}, + "State":{"shape":"InsightState"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "Summary":{"shape":"InsightSummaryText"}, + "ClientRequestImpactStatistics":{"shape":"RequestImpactStatistics"}, + "RootCauseServiceRequestImpactStatistics":{"shape":"RequestImpactStatistics"}, + "TopAnomalousServices":{"shape":"AnomalousServiceList"}, + "LastUpdateTime":{"shape":"Timestamp"} + } + }, + "InsightSummaryList":{ + "type":"list", + "member":{"shape":"InsightSummary"} + }, + "InsightSummaryText":{"type":"string"}, "InsightsConfiguration":{ "type":"structure", "members":{ @@ -952,6 +1215,14 @@ "type":"integer", "min":0 }, + "RequestImpactStatistics":{ + "type":"structure", + "members":{ + "FaultCount":{"shape":"NullableLong"}, + "OkCount":{"shape":"NullableLong"}, + "TotalCount":{"shape":"NullableLong"} + } + }, "ReservoirSize":{ "type":"integer", "min":0 @@ -1324,6 +1595,7 @@ "Timestamp":{"shape":"Timestamp"}, "EdgeSummaryStatistics":{"shape":"EdgeStatistics"}, "ServiceSummaryStatistics":{"shape":"ServiceStatistics"}, + "ServiceForecastStatistics":{"shape":"ForecastStatistics"}, "ResponseTimeHistogram":{"shape":"Histogram"} } }, @@ -1332,6 +1604,11 @@ "member":{"shape":"TimeSeriesServiceStatistics"} }, "Timestamp":{"type":"timestamp"}, + "Token":{ + "type":"string", + "max":2000, + "min":1 + }, "TooManyTagsException":{ "type":"structure", "members":{ diff --git a/models/apis/xray/2016-04-12/docs-2.json b/models/apis/xray/2016-04-12/docs-2.json index 4672b2aecfa..a6e4eddc4ca 100644 --- a/models/apis/xray/2016-04-12/docs-2.json +++ b/models/apis/xray/2016-04-12/docs-2.json @@ -10,6 +10,10 @@ "GetEncryptionConfig": "

Retrieves the current encryption configuration for X-Ray data.

", "GetGroup": "

Retrieves group resource details.

", "GetGroups": "

Retrieves all active group details.

", + "GetInsight": "

Retrieves the summary information of an insight. This includes impact to clients and root cause services, the top anomalous services, the category, the state of the insight, and the start and end time of the insight.

", + "GetInsightEvents": "

X-Ray reevaluates insights periodically until they're resolved, and records each intermediate state as an event. You can review an insight's events in the Impact Timeline on the Inspect page in the X-Ray console.

", + "GetInsightImpactGraph": "

Retrieves a service graph structure filtered by the specified insight. The service graph is limited to only structural information. For a complete service graph, use this API with the GetServiceGraph API.

", + "GetInsightSummaries": "

Retrieves the summaries of all insights in the specified group matching the provided filter values.

", "GetSamplingRules": "

Retrieves all sampling rules.

", "GetSamplingStatisticSummaries": "

Retrieves information about recent sampling results for all sampling rules.

", "GetSamplingTargets": "

Requests a sampling quota for rules that the service is using to sample requests.

", @@ -73,6 +77,20 @@ "TraceSummary$Annotations": "

Annotations from the trace's segment documents.

" } }, + "AnomalousService": { + "base": "

The service within the service graph that has anomalously high fault rates.

", + "refs": { + "AnomalousServiceList$member": null + } + }, + "AnomalousServiceList": { + "base": null, + "refs": { + "Insight$TopAnomalousServices": "

The service within the insight that is most impacted by the incident.

", + "InsightEvent$TopAnomalousServices": "

The service during the event that is most impacted by the incident.

", + "InsightSummary$TopAnomalousServices": "

The service within the insight that is most impacted by the incident.

" + } + }, "AttributeKey": { "base": null, "refs": { @@ -290,6 +308,12 @@ "ServiceStatistics$ErrorStatistics": "

Information about requests that failed with a 4xx Client Error status code.

" } }, + "EventSummaryText": { + "base": null, + "refs": { + "InsightEvent$Summary": "

A brief description of the event.

" + } + }, "FaultRootCause": { "base": "

The root cause information for a trace summary fault.

", "refs": { @@ -347,6 +371,12 @@ "SamplingRule$FixedRate": "

The percentage of matching requests to instrument, after the reservoir is exhausted.

" } }, + "ForecastStatistics": { + "base": "

The predicted high and low fault count. This is used to determine if a service has become anomalous and if an insight should be created.

", + "refs": { + "TimeSeriesServiceStatistics$ServiceForecastStatistics": "

The forecasted high and low fault count values.

" + } + }, "GetEncryptionConfigRequest": { "base": null, "refs": { @@ -383,6 +413,58 @@ "refs": { } }, + "GetInsightEventsMaxResults": { + "base": null, + "refs": { + "GetInsightEventsRequest$MaxResults": "

Used to retrieve at most the specified value of events.

" + } + }, + "GetInsightEventsRequest": { + "base": null, + "refs": { + } + }, + "GetInsightEventsResult": { + "base": null, + "refs": { + } + }, + "GetInsightImpactGraphRequest": { + "base": null, + "refs": { + } + }, + "GetInsightImpactGraphResult": { + "base": null, + "refs": { + } + }, + "GetInsightRequest": { + "base": null, + "refs": { + } + }, + "GetInsightResult": { + "base": null, + "refs": { + } + }, + "GetInsightSummariesMaxResults": { + "base": null, + "refs": { + "GetInsightSummariesRequest$MaxResults": "

The maximum number of results to display.

" + } + }, + "GetInsightSummariesRequest": { + "base": null, + "refs": { + } + }, + "GetInsightSummariesResult": { + "base": null, + "refs": { + } + }, "GetSamplingRulesRequest": { "base": null, "refs": { @@ -466,8 +548,11 @@ "refs": { "DeleteGroupRequest$GroupARN": "

The ARN of the group that was generated on creation.

", "GetGroupRequest$GroupARN": "

The ARN of the group that was generated on creation.

", + "GetInsightSummariesRequest$GroupARN": "

The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't provided.

", "GetServiceGraphRequest$GroupARN": "

The Amazon Resource Name (ARN) of a group based on which you want to generate a graph.

", "GetTimeSeriesServiceStatisticsRequest$GroupARN": "

The Amazon Resource Name (ARN) of the group for which to pull statistics from.

", + "Insight$GroupARN": "

The Amazon Resource Name (ARN) of the group that the insight belongs to.

", + "InsightSummary$GroupARN": "

The Amazon Resource Name (ARN) of the group that the insight belongs to.

", "UpdateGroupRequest$GroupARN": "

The ARN that was generated upon creation.

" } }, @@ -477,8 +562,11 @@ "CreateGroupRequest$GroupName": "

The case-sensitive name of the new group. Default is a reserved name and names must be unique.

", "DeleteGroupRequest$GroupName": "

The case-sensitive name of the group.

", "GetGroupRequest$GroupName": "

The case-sensitive name of the group.

", + "GetInsightSummariesRequest$GroupName": "

The name of the group. Required if the GroupARN isn't provided.

", "GetServiceGraphRequest$GroupName": "

The name of a group based on which you want to generate a graph.

", "GetTimeSeriesServiceStatisticsRequest$GroupName": "

The case-sensitive name of the group for which to pull statistics from.

", + "Insight$GroupName": "

The name of the group that the insight belongs to.

", + "InsightSummary$GroupName": "

The name of the group that the insight belongs to.

", "UpdateGroupRequest$GroupName": "

The case-sensitive name of the group.

" } }, @@ -535,6 +623,105 @@ "TraceSummary$Http": "

Information about the HTTP request served by the trace.

" } }, + "Insight": { + "base": "

When fault rates go outside of the expected range, X-Ray creates an insight. Insights tracks emergent issues within your applications.

", + "refs": { + "GetInsightResult$Insight": "

The summary information of an insight.

" + } + }, + "InsightCategory": { + "base": null, + "refs": { + "InsightCategoryList$member": null + } + }, + "InsightCategoryList": { + "base": null, + "refs": { + "Insight$Categories": "

The categories that label and describe the type of insight.

", + "InsightSummary$Categories": "

Categories The categories that label and describe the type of insight.

" + } + }, + "InsightEvent": { + "base": "

X-Ray reevaluates insights periodically until they are resolved, and records each intermediate state in an event. You can review incident events in the Impact Timeline on the Inspect page in the X-Ray console.

", + "refs": { + "InsightEventList$member": null + } + }, + "InsightEventList": { + "base": null, + "refs": { + "GetInsightEventsResult$InsightEvents": "

A detailed description of the event. This includes the time of the event, client and root cause impact statistics, and the top anomalous service at the time of the event.

" + } + }, + "InsightId": { + "base": null, + "refs": { + "GetInsightEventsRequest$InsightId": "

The insight's unique identifier. Use the GetInsightSummaries action to retrieve an InsightId.

", + "GetInsightImpactGraphRequest$InsightId": "

The insight's unique identifier. Use the GetInsightSummaries action to retrieve an InsightId.

", + "GetInsightImpactGraphResult$InsightId": "

The insight's unique identifier.

", + "GetInsightRequest$InsightId": "

The insight's unique identifier. Use the GetInsightSummaries action to retrieve an InsightId.

", + "Insight$InsightId": "

The insights unique identifier.

", + "InsightSummary$InsightId": "

The insights unique identifier.

" + } + }, + "InsightImpactGraphEdge": { + "base": "

The connection between two service in an insight impact graph.

", + "refs": { + "InsightImpactGraphEdgeList$member": null + } + }, + "InsightImpactGraphEdgeList": { + "base": null, + "refs": { + "InsightImpactGraphService$Edges": "

Connections to downstream services.

" + } + }, + "InsightImpactGraphService": { + "base": "

Information about an application that processed requests, users that made requests, or downstream services, resources, and applications that an application used.

", + "refs": { + "InsightImpactGraphServiceList$member": null + } + }, + "InsightImpactGraphServiceList": { + "base": null, + "refs": { + "GetInsightImpactGraphResult$Services": "

The AWS instrumented services related to the insight.

" + } + }, + "InsightState": { + "base": null, + "refs": { + "Insight$State": "

The current state of the insight.

", + "InsightStateList$member": null, + "InsightSummary$State": "

The current state of the insight.

" + } + }, + "InsightStateList": { + "base": null, + "refs": { + "GetInsightSummariesRequest$States": "

The list of insight states.

" + } + }, + "InsightSummary": { + "base": "

Information that describes an insight.

", + "refs": { + "InsightSummaryList$member": null + } + }, + "InsightSummaryList": { + "base": null, + "refs": { + "GetInsightSummariesResult$InsightSummaries": "

The summary of each insight within the group matching the provided filters. The summary contains the InsightID, start and end time, the root cause service, the root cause and client impact statistics, the top anomalous services, and the status of the insight.

" + } + }, + "InsightSummaryText": { + "base": null, + "refs": { + "Insight$Summary": "

A brief description of the insight.

", + "InsightSummary$Summary": "

A brief description of the insight.

" + } + }, "InsightsConfiguration": { "base": "

The structure containing configurations related to insights.

", "refs": { @@ -585,6 +772,7 @@ "FaultRootCause$ClientImpacting": "

A flag that denotes that the root cause impacts the trace client.

", "FaultRootCauseEntity$Remote": "

A flag that denotes a remote subsegment.

", "FaultRootCauseService$Inferred": "

A Boolean value indicating if the service is inferred from the trace.

", + "GetTimeSeriesServiceStatisticsRequest$ForecastStatistics": "

The forecasted high and low fault count values. Forecast enabled requests require the EntitySelectorExpression ID be provided.

", "GetTraceSummariesRequest$Sampling": "

Set to true to get summaries for only a subset of available traces.

", "InsightsConfiguration$InsightsEnabled": "

Set the InsightsEnabled value to true to enable insights or false to disable insights.

", "InsightsConfiguration$NotificationsEnabled": "

Set the NotificationsEnabled value to true to enable insights notifications. Notifications can only be enabled on a group with InsightsEnabled set to true.

", @@ -625,6 +813,8 @@ "Edge$ReferenceId": "

Identifier of the edge. Unique within a service map.

", "GetTimeSeriesServiceStatisticsRequest$Period": "

Aggregation period in seconds.

", "Http$HttpStatus": "

The response status.

", + "InsightImpactGraphEdge$ReferenceId": "

Identifier of the edge. Unique within a service map.

", + "InsightImpactGraphService$ReferenceId": "

Identifier for the service. Unique within the service map.

", "SamplingRuleUpdate$Priority": "

The priority of the sampling rule.

", "SamplingRuleUpdate$ReservoirSize": "

A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

", "SamplingTargetDocument$ReservoirQuota": "

The number of requests per second that X-Ray allocated for this service.

", @@ -646,7 +836,12 @@ "ErrorStatistics$TotalCount": "

The total number of requests that failed with a 4xx Client Error status code.

", "FaultStatistics$OtherCount": "

The number of requests that failed with untracked 5xx Server Error status codes.

", "FaultStatistics$TotalCount": "

The total number of requests that failed with a 5xx Server Error status code.

", + "ForecastStatistics$FaultCountHigh": "

The upper limit of fault counts for a service.

", + "ForecastStatistics$FaultCountLow": "

The lower limit of fault counts for a service.

", "GetTraceSummariesResult$TracesProcessedCount": "

The total number of traces processed, including traces that did not match the specified filter expression.

", + "RequestImpactStatistics$FaultCount": "

The number of requests that have resulted in a fault,

", + "RequestImpactStatistics$OkCount": "

The number of successful requests.

", + "RequestImpactStatistics$TotalCount": "

The total number of requests to the service.

", "ServiceStatistics$OkCount": "

The number of requests that completed with a 2xx Success status code.

", "ServiceStatistics$TotalCount": "

The total number of completed requests.

" } @@ -693,6 +888,17 @@ "SamplingStatisticsDocument$RequestCount": "

The number of requests that matched the rule.

" } }, + "RequestImpactStatistics": { + "base": "

Statistics that describe how the incident has impacted a service.

", + "refs": { + "Insight$ClientRequestImpactStatistics": "

The impact statistics of the client side service. This includes the number of requests to the client service and whether the requests were faults or okay.

", + "Insight$RootCauseServiceRequestImpactStatistics": "

The impact statistics of the root cause service. This includes the number of requests to the client service and whether the requests were faults or okay.

", + "InsightEvent$ClientRequestImpactStatistics": "

The impact statistics of the client side service. This includes the number of requests to the client service and whether the requests were faults or okay.

", + "InsightEvent$RootCauseServiceRequestImpactStatistics": "

The impact statistics of the root cause service. This includes the number of requests to the client service and whether the requests were faults or okay.

", + "InsightSummary$ClientRequestImpactStatistics": "

The impact statistics of the client side service. This includes the number of requests to the client service and whether the requests were faults or okay.

", + "InsightSummary$RootCauseServiceRequestImpactStatistics": "

The impact statistics of the root cause service. This includes the number of requests to the client service and whether the requests were faults or okay.

" + } + }, "ReservoirSize": { "base": null, "refs": { @@ -895,6 +1101,9 @@ "ServiceId": { "base": "

", "refs": { + "AnomalousService$ServiceId": null, + "Insight$RootCauseServiceId": null, + "InsightSummary$RootCauseServiceId": null, "ServiceIds$member": null, "TraceSummary$EntryPoint": "

The root of a trace.

" } @@ -926,6 +1135,7 @@ "refs": { "ErrorRootCauseService$Names": "

A collection of associated service names.

", "FaultRootCauseService$Names": "

A collection of associated service names.

", + "InsightImpactGraphService$Names": "

A list of names for the service, including the canonical name.

", "ResponseTimeRootCauseService$Names": "

A collection of associated service names.

", "Service$Names": "

A list of names for the service, including the canonical name.

", "ServiceId$Names": "

" @@ -989,6 +1199,9 @@ "Http$HttpMethod": "

The request method.

", "Http$UserAgent": "

The request's user agent string.

", "Http$ClientIp": "

The IP address of the requestor.

", + "InsightImpactGraphService$Type": "

Identifier for the service. Unique within the service map.

", + "InsightImpactGraphService$Name": "

The canonical name of the service.

", + "InsightImpactGraphService$AccountId": "

Identifier of the AWS account in which the service runs.

", "InstanceIdDetail$Id": "

The ID of a corresponding EC2 instance.

", "ListTagsForResourceRequest$NextToken": "

A pagination token. If multiple pages of results are returned, use the NextToken value returned with the current page of results as the value of this parameter to get the next page of results.

", "ListTagsForResourceResponse$NextToken": "

A pagination token. If multiple pages of results are returned, use the NextToken value returned with the current page of results to get the next page of results.

", @@ -1104,6 +1317,14 @@ "refs": { "Edge$StartTime": "

The start time of the first segment on the edge.

", "Edge$EndTime": "

The end time of the last segment on the edge.

", + "GetInsightImpactGraphRequest$StartTime": "

The estimated start time of the insight, in Unix time seconds. The StartTime is inclusive of the value provided and can't be more than 30 days old.

", + "GetInsightImpactGraphRequest$EndTime": "

The estimated end time of the insight, in Unix time seconds. The EndTime is exclusive of the value provided. The time range between the start time and end time can't be more than six hours.

", + "GetInsightImpactGraphResult$StartTime": "

The provided start time.

", + "GetInsightImpactGraphResult$EndTime": "

The provided end time.

", + "GetInsightImpactGraphResult$ServiceGraphStartTime": "

The time, in Unix seconds, at which the service graph started.

", + "GetInsightImpactGraphResult$ServiceGraphEndTime": "

The time, in Unix seconds, at which the service graph ended.

", + "GetInsightSummariesRequest$StartTime": "

The beginning of the time frame in which the insights started. The start time can't be more than 30 days old.

", + "GetInsightSummariesRequest$EndTime": "

The end of the time frame in which the insights ended. The end time can't be more than 30 days old.

", "GetSamplingTargetsResult$LastRuleModification": "

The last time a user changed the sampling rule configuration. If the sampling rule configuration changed since the service last retrieved it, the service should call GetSamplingRules to get the latest version.

", "GetServiceGraphRequest$StartTime": "

The start of the time frame for which to generate a graph.

", "GetServiceGraphRequest$EndTime": "

The end of the timeframe for which to generate a graph.

", @@ -1114,6 +1335,12 @@ "GetTraceSummariesRequest$StartTime": "

The start of the time frame for which to retrieve traces.

", "GetTraceSummariesRequest$EndTime": "

The end of the time frame for which to retrieve traces.

", "GetTraceSummariesResult$ApproximateTime": "

The start time of this page of results.

", + "Insight$StartTime": "

The time, in Unix seconds, at which the insight began.

", + "Insight$EndTime": "

The time, in Unix seconds, at which the insight ended.

", + "InsightEvent$EventTime": "

The time, in Unix seconds, at which the event was recorded.

", + "InsightSummary$StartTime": "

The time, in Unix seconds, at which the insight began.

", + "InsightSummary$EndTime": "

The time, in Unix seconds, at which the insight ended.

", + "InsightSummary$LastUpdateTime": "

The time, in Unix seconds, that the insight was last updated.

", "SamplingRuleRecord$CreatedAt": "

When the rule was created.

", "SamplingRuleRecord$ModifiedAt": "

When the rule was last modified.

", "SamplingStatisticSummary$Timestamp": "

The start time of the reporting window.

", @@ -1126,6 +1353,17 @@ "TraceSummary$MatchedEventTime": "

The matched time stamp of a defined event.

" } }, + "Token": { + "base": null, + "refs": { + "GetInsightEventsRequest$NextToken": "

Specify the pagination token returned by a previous request to retrieve the next page of events.

", + "GetInsightEventsResult$NextToken": "

Use this token to retrieve the next page of insight events.

", + "GetInsightImpactGraphRequest$NextToken": "

Specify the pagination token returned by a previous request to retrieve the next page of results.

", + "GetInsightImpactGraphResult$NextToken": "

Pagination token.

", + "GetInsightSummariesRequest$NextToken": "

Pagination token.

", + "GetInsightSummariesResult$NextToken": "

Pagination token.

" + } + }, "TooManyTagsException": { "base": "

You have exceeded the maximum number of tags you can apply to this resource.

", "refs": { diff --git a/models/apis/xray/2016-04-12/paginators-1.json b/models/apis/xray/2016-04-12/paginators-1.json index 300279e7524..5ffeb594d62 100644 --- a/models/apis/xray/2016-04-12/paginators-1.json +++ b/models/apis/xray/2016-04-12/paginators-1.json @@ -10,6 +10,16 @@ "output_token": "NextToken", "result_key": "Groups" }, + "GetInsightEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, + "GetInsightSummaries": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "GetSamplingRules": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index dc6d7d82463..73c5450d329 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -2065,6 +2065,12 @@ }, "hostname" : "fips.eks.us-east-2.amazonaws.com" }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "fips.eks.us-west-1.amazonaws.com" + }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" @@ -3362,6 +3368,30 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "lakeformation-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "lakeformation-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "lakeformation-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "lakeformation-fips.us-west-2.amazonaws.com" + }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -4228,6 +4258,7 @@ "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, @@ -7708,6 +7739,18 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "eks.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "eks.us-gov-west-1.amazonaws.com" + }, "us-gov-east-1" : { }, "us-gov-west-1" : { } } @@ -7915,6 +7958,7 @@ "protocols" : [ "https" ] }, "endpoints" : { + "us-gov-east-1" : { }, "us-gov-west-1" : { }, "us-gov-west-1-fips" : { "credentialScope" : { @@ -9054,6 +9098,16 @@ } }, "services" : { + "api.ecr" : { + "endpoints" : { + "us-isob-east-1" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "hostname" : "api.ecr.us-isob-east-1.sc2s.sgov.gov" + } + } + }, "application-autoscaling" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -9117,6 +9171,11 @@ "us-isob-east-1" : { } } }, + "ecs" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "elasticache" : { "endpoints" : { "us-isob-east-1" : { } diff --git a/service/autoscaling/api.go b/service/autoscaling/api.go index bea102a8869..ae8e316f25c 100644 --- a/service/autoscaling/api.go +++ b/service/autoscaling/api.go @@ -4553,6 +4553,9 @@ func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotification // Scaling Group Scales (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html) // in the Amazon EC2 Auto Scaling User Guide. // +// If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling +// group, the call fails. +// // 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. @@ -5206,6 +5209,9 @@ func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionI // Scaling group from terminating on scale in, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) // in the Amazon EC2 Auto Scaling User Guide. // +// If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling +// group, the call fails. +// // 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. @@ -6494,6 +6500,18 @@ type CreateAutoScalingGroupInput struct { // is required to launch instances into EC2-Classic. AvailabilityZones []*string `min:"1" type:"list"` + // Indicates whether capacity rebalance is enabled. Otherwise, capacity rebalance + // is disabled. + // + // You can enable capacity rebalancing for your Auto Scaling groups when using + // Spot Instances. When you turn on capacity rebalancing, Amazon EC2 Auto Scaling + // attempts to launch a Spot Instance whenever Amazon EC2 predicts that a Spot + // Instance is at an elevated risk of interruption. After launching a new instance, + // it then terminates an old instance. For more information, see Amazon EC2 + // Auto Scaling capacity rebalancing (https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html) + // in the Amazon EC2 Auto Scaling User Guide. + CapacityRebalance *bool `type:"boolean"` + // The amount of time, in seconds, after a scaling activity completes before // another scaling activity can start. The default value is 300. // @@ -6786,6 +6804,12 @@ func (s *CreateAutoScalingGroupInput) SetAvailabilityZones(v []*string) *CreateA return s } +// SetCapacityRebalance sets the CapacityRebalance field's value. +func (s *CreateAutoScalingGroupInput) SetCapacityRebalance(v bool) *CreateAutoScalingGroupInput { + s.CapacityRebalance = &v + return s +} + // SetDefaultCooldown sets the DefaultCooldown field's value. func (s *CreateAutoScalingGroupInput) SetDefaultCooldown(v int64) *CreateAutoScalingGroupInput { s.DefaultCooldown = &v @@ -7014,7 +7038,7 @@ type CreateLaunchConfigurationInput struct { // When detailed monitoring is enabled, Amazon CloudWatch generates metrics // every minute and your account is charged a fee. When you disable detailed // monitoring, CloudWatch generates metrics every 5 minutes. For more information, - // see Configure Monitoring for Auto Scaling Instances (https://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-monitoring.html#enable-as-instance-metrics) + // see Configure Monitoring for Auto Scaling Instances (https://docs.aws.amazon.com/autoscaling/latest/userguide/enable-as-instance-metrics.html) // in the Amazon EC2 Auto Scaling User Guide. InstanceMonitoring *InstanceMonitoring `type:"structure"` @@ -7041,9 +7065,9 @@ type CreateLaunchConfigurationInput struct { // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` - // The metadata options for the instances. For more information, see Instance - // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) - // in the Amazon EC2 User Guide for Linux Instances. + // The metadata options for the instances. For more information, see Configuring + // the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds) + // in the Amazon EC2 Auto Scaling User Guide. MetadataOptions *InstanceMetadataOptions `type:"structure"` // The tenancy of the instance. An instance with dedicated tenancy runs on isolated, @@ -10352,6 +10376,9 @@ type Group struct { // AvailabilityZones is a required field AvailabilityZones []*string `min:"1" type:"list" required:"true"` + // Indicates whether capacity rebalance is enabled. + CapacityRebalance *bool `type:"boolean"` + // The date and time the group was created. // // CreatedTime is a required field @@ -10471,6 +10498,12 @@ func (s *Group) SetAvailabilityZones(v []*string) *Group { return s } +// SetCapacityRebalance sets the CapacityRebalance field's value. +func (s *Group) SetCapacityRebalance(v bool) *Group { + s.CapacityRebalance = &v + return s +} + // SetCreatedTime sets the CreatedTime field's value. func (s *Group) SetCreatedTime(v time.Time) *Group { s.CreatedTime = &v @@ -10848,9 +10881,9 @@ func (s *InstanceDetails) SetWeightedCapacity(v string) *InstanceDetails { return s } -// The metadata options for the instances. For more information, see Instance -// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) -// in the Amazon EC2 User Guide for Linux Instances. +// The metadata options for the instances. For more information, see Configuring +// the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds) +// in the Amazon EC2 Auto Scaling User Guide. type InstanceMetadataOptions struct { _ struct{} `type:"structure"` @@ -11258,7 +11291,7 @@ type LaunchConfiguration struct { // or basic (false) monitoring. // // For more information, see Configure Monitoring for Auto Scaling Instances - // (https://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-monitoring.html#enable-as-instance-metrics) + // (https://docs.aws.amazon.com/autoscaling/latest/userguide/enable-as-instance-metrics.html) // in the Amazon EC2 Auto Scaling User Guide. InstanceMonitoring *InstanceMonitoring `type:"structure"` @@ -11288,9 +11321,9 @@ type LaunchConfiguration struct { // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` - // The metadata options for the instances. For more information, see Instance - // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) - // in the Amazon EC2 User Guide for Linux Instances. + // The metadata options for the instances. For more information, see Configuring + // the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds) + // in the Amazon EC2 Auto Scaling User Guide. MetadataOptions *InstanceMetadataOptions `type:"structure"` // The tenancy of the instance, either default or dedicated. An instance with @@ -12333,16 +12366,18 @@ type PredefinedMetricSpecification struct { // a resource label unless the metric type is ALBRequestCountPerTarget and there // is a target group attached to the Auto Scaling group. // - // Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch. - // CloudWatch collects the data and specifies the format to use to access the - // data. The format is app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id - // , where + // You create the resource label by appending the final portion of the load + // balancer ARN and the final portion of the target group ARN into a single + // value, separated by a forward slash (/). The format is app///targetgroup//, + // where: + // + // * app// is the final portion of + // the load balancer ARN // - // * app/load-balancer-name/load-balancer-id is the final portion of the - // load balancer ARN, and + // * targetgroup// is the final portion + // of the target group ARN. // - // * targetgroup/target-group-name/target-group-id is the final portion of - // the target group ARN. + // This is an example: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d. // // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) @@ -14558,6 +14593,17 @@ type UpdateAutoScalingGroupInput struct { // One or more Availability Zones for the group. AvailabilityZones []*string `min:"1" type:"list"` + // Enables or disables capacity rebalance. + // + // You can enable capacity rebalancing for your Auto Scaling groups when using + // Spot Instances. When you turn on capacity rebalancing, Amazon EC2 Auto Scaling + // attempts to launch a Spot Instance whenever Amazon EC2 predicts that a Spot + // Instance is at an elevated risk of interruption. After launching a new instance, + // it then terminates an old instance. For more information, see Amazon EC2 + // Auto Scaling capacity rebalancing (https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html) + // in the Amazon EC2 Auto Scaling User Guide. + CapacityRebalance *bool `type:"boolean"` + // The amount of time, in seconds, after a scaling activity completes before // another scaling activity can start. The default value is 300. // @@ -14742,6 +14788,12 @@ func (s *UpdateAutoScalingGroupInput) SetAvailabilityZones(v []*string) *UpdateA return s } +// SetCapacityRebalance sets the CapacityRebalance field's value. +func (s *UpdateAutoScalingGroupInput) SetCapacityRebalance(v bool) *UpdateAutoScalingGroupInput { + s.CapacityRebalance = &v + return s +} + // SetDefaultCooldown sets the DefaultCooldown field's value. func (s *UpdateAutoScalingGroupInput) SetDefaultCooldown(v int64) *UpdateAutoScalingGroupInput { s.DefaultCooldown = &v diff --git a/service/cloudwatch/api.go b/service/cloudwatch/api.go index 7a2d4b2d189..ae1dc7b939d 100644 --- a/service/cloudwatch/api.go +++ b/service/cloudwatch/api.go @@ -699,6 +699,10 @@ func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetr // 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. +// // 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. @@ -864,8 +868,7 @@ func (c *CloudWatch) DescribeInsightRulesRequest(input *DescribeInsightRulesInpu // DescribeInsightRules API operation for Amazon CloudWatch. // -// Returns a list of all the Contributor Insights rules in your account. All -// rules in your account are returned with a single operation. +// 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html). @@ -2868,6 +2871,10 @@ func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *reque // information about specifying dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) // 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) // or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) @@ -4625,11 +4632,12 @@ func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomaly type DescribeInsightRulesInput struct { _ struct{} `type:"structure"` - // This parameter is not currently used. Reserved for future use. If it is used - // in the future, the maximum value might be different. + // The maximum number of results to return in one operation. If you omit this + // parameter, the default of 500 is used. MaxResults *int64 `min:"1" type:"integer"` - // Reserved for future use. + // Include this value, if it was returned by the previous operation, to get + // the next set of rules. NextToken *string `type:"string"` } @@ -4674,7 +4682,8 @@ type DescribeInsightRulesOutput struct { // The rules returned by the operation. InsightRules []*InsightRule `type:"list"` - // Reserved for future use. + // If this parameter is present, it is a token that marks the start of the next + // batch of returned results. NextToken *string `type:"string"` } @@ -4713,7 +4722,8 @@ type Dimension struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The value of the dimension. + // The value of the dimension. Dimension values cannot contain blank spaces + // or non-ASCII characters. // // Value is a required field Value *string `min:"1" type:"string" required:"true"` @@ -5379,8 +5389,8 @@ type GetMetricDataInput struct { // MetricDataQueries is a required field MetricDataQueries []*MetricDataQuery `type:"list" required:"true"` - // Include this value, if it was returned by the previous call, to get the next - // set of data points. + // Include this value, if it was returned by the previous GetMetricData operation, + // to get the next set of data points. NextToken *string `type:"string"` // The order in which data points should be returned. TimestampDescending returns @@ -6257,13 +6267,16 @@ func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput { type ListMetricsInput struct { _ struct{} `type:"structure"` - // The dimensions to filter against. + // The dimensions to filter against. Only the dimensions that match exactly + // will be returned. Dimensions []*DimensionFilter `type:"list"` - // The name of the metric to filter against. + // The name of the metric to filter against. Only the metrics with names that + // match exactly will be returned. MetricName *string `min:"1" type:"string"` - // The namespace to filter against. + // The metric namespace to filter against. Only the namespace that matches exactly + // will be returned. Namespace *string `min:"1" type:"string"` // The token returned by a previous call to indicate that there is more data @@ -6610,7 +6623,7 @@ type MetricAlarm struct { // An array of MetricDataQuery structures, used in an alarm based on a metric // math expression. Each structure either retrieves a metric or performs a math // expression. One item in the Metrics array is the math expression that the - // alarm watches. This expression by designated by having ReturnValue set to + // alarm watches. This expression by designated by having ReturnData set to // true. Metrics []*MetricDataQuery `type:"list"` @@ -7400,8 +7413,6 @@ type PutAnomalyDetectorInput struct { // the model. You can specify as many as 10 time ranges. // // The configuration can also include the time zone to use for the metric. - // - // You can in Configuration *AnomalyDetectorConfiguration `type:"structure"` // The metric dimensions to create the anomaly detection model for. @@ -8029,8 +8040,8 @@ type PutMetricAlarmInput struct { // expression. // // One item in the Metrics array is the expression that the alarm watches. You - // designate this expression by setting ReturnValue to true for this object - // in the array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html). + // designate this expression by setting ReturnData to true for this object in + // the array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html). // // If you use the Metrics parameter, you cannot include the MetricName, Dimensions, // Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm diff --git a/service/ec2/api.go b/service/ec2/api.go index 84f63e53afc..84594c935ae 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -44371,7 +44371,7 @@ func (s *CapacityReservationGroup) SetOwnerId(v string) *CapacityReservationGrou // For more information about Capacity Reservations, see On-Demand Capacity // Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) // in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity -// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html) +// Reservations in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html) // in the Amazon Elastic Compute Cloud User Guide. type CapacityReservationOptions struct { _ struct{} `type:"structure"` @@ -44416,7 +44416,7 @@ func (s *CapacityReservationOptions) SetUsageStrategy(v string) *CapacityReserva // For more information about Capacity Reservations, see On-Demand Capacity // Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) // in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity -// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html) +// Reservations in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html) // in the Amazon Elastic Compute Cloud User Guide. type CapacityReservationOptionsRequest struct { _ struct{} `type:"structure"` @@ -44985,6 +44985,84 @@ func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCert return s } +// The options for managing connection authorization for new client connections. +type ClientConnectOptions struct { + _ struct{} `type:"structure"` + + // Indicates whether client connect options are enabled. The default is false + // (not enabled). + Enabled *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the AWS Lambda function used for connection + // authorization. + LambdaFunctionArn *string `type:"string"` +} + +// String returns the string representation +func (s ClientConnectOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientConnectOptions) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *ClientConnectOptions) SetEnabled(v bool) *ClientConnectOptions { + s.Enabled = &v + return s +} + +// SetLambdaFunctionArn sets the LambdaFunctionArn field's value. +func (s *ClientConnectOptions) SetLambdaFunctionArn(v string) *ClientConnectOptions { + s.LambdaFunctionArn = &v + return s +} + +// The options for managing connection authorization for new client connections. +type ClientConnectResponseOptions struct { + _ struct{} `type:"structure"` + + // Indicates whether client connect options are enabled. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The Amazon Resource Name (ARN) of the AWS Lambda function used for connection + // authorization. + LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string"` + + // The status of any updates to the client connect options. + Status *ClientVpnEndpointAttributeStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s ClientConnectResponseOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientConnectResponseOptions) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *ClientConnectResponseOptions) SetEnabled(v bool) *ClientConnectResponseOptions { + s.Enabled = &v + return s +} + +// SetLambdaFunctionArn sets the LambdaFunctionArn field's value. +func (s *ClientConnectResponseOptions) SetLambdaFunctionArn(v string) *ClientConnectResponseOptions { + s.LambdaFunctionArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClientConnectResponseOptions) SetStatus(v *ClientVpnEndpointAttributeStatus) *ClientConnectResponseOptions { + s.Status = v + return s +} + // Describes the client-specific data. type ClientData struct { _ struct{} `type:"structure"` @@ -45213,6 +45291,10 @@ type ClientVpnConnection struct { // The number of packets sent by the client. IngressPackets *string `locationName:"ingressPackets" type:"string"` + // The statuses returned by the client connect handler for posture compliance, + // if applicable. + PostureComplianceStatuses []*string `locationName:"postureComplianceStatusSet" locationNameList:"item" type:"list"` + // The current state of the client connection. Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"` @@ -45294,6 +45376,12 @@ func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection { return s } +// SetPostureComplianceStatuses sets the PostureComplianceStatuses field's value. +func (s *ClientVpnConnection) SetPostureComplianceStatuses(v []*string) *ClientVpnConnection { + s.PostureComplianceStatuses = v + return s +} + // SetStatus sets the Status field's value. func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection { s.Status = v @@ -45362,6 +45450,9 @@ type ClientVpnEndpoint struct { // are assigned. ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"` + // The options for managing connection authorization for new client connections. + ClientConnectOptions *ClientConnectResponseOptions `locationName:"clientConnectOptions" type:"structure"` + // The ID of the Client VPN endpoint. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` @@ -45447,6 +45538,12 @@ func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint { return s } +// SetClientConnectOptions sets the ClientConnectOptions field's value. +func (s *ClientVpnEndpoint) SetClientConnectOptions(v *ClientConnectResponseOptions) *ClientVpnEndpoint { + s.ClientConnectOptions = v + return s +} + // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint { s.ClientVpnEndpointId = &v @@ -45549,6 +45646,39 @@ func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint { return s } +// Describes the status of the Client VPN endpoint attribute. +type ClientVpnEndpointAttributeStatus struct { + _ struct{} `type:"structure"` + + // The status code. + Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointAttributeStatusCode"` + + // The status message. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnEndpointAttributeStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnEndpointAttributeStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnEndpointAttributeStatus) SetCode(v string) *ClientVpnEndpointAttributeStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnEndpointAttributeStatus) SetMessage(v string) *ClientVpnEndpointAttributeStatus { + s.Message = &v + return s +} + // Describes the state of a Client VPN endpoint. type ClientVpnEndpointStatus struct { _ struct{} `type:"structure"` @@ -47060,6 +47190,9 @@ type CreateClientVpnEndpointInput struct { // ClientCidrBlock is a required field ClientCidrBlock *string `type:"string" required:"true"` + // The options for managing connection authorization for new client connections. + ClientConnectOptions *ClientConnectOptions `type:"structure"` + // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string" idempotencyToken:"true"` @@ -47183,6 +47316,12 @@ func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClien return s } +// SetClientConnectOptions sets the ClientConnectOptions field's value. +func (s *CreateClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *CreateClientVpnEndpointInput { + s.ClientConnectOptions = v + return s +} + // SetClientToken sets the ClientToken field's value. func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput { s.ClientToken = &v @@ -47961,7 +48100,7 @@ type CreateFleetInput struct { // The key-value pair for tagging the EC2 Fleet request on creation. The value // for ResourceType must be fleet, otherwise the fleet request fails. To tag // instances at launch, specify the tags in the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template). - // For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources). + // For information about tagging after launch, see Tagging your resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources). TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The number of units to request. @@ -47973,13 +48112,22 @@ type CreateFleetInput struct { // expires. TerminateInstancesWithExpiration *bool `type:"boolean"` - // The type of the request. By default, the EC2 Fleet places an asynchronous - // request for your desired capacity, and maintains it by replenishing interrupted - // Spot Instances (maintain). A value of instant places a synchronous one-time - // request, and returns errors for any instances that could not be launched. - // A value of request places an asynchronous one-time request without maintaining - // capacity or submitting requests in alternative capacity pools if capacity - // is unavailable. For more information, see EC2 Fleet Request Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type) + // The type of request. The default value is maintain. + // + // * maintain - The EC2 Fleet plaees an asynchronous request for your desired + // capacity, and continues to maintain your desired Spot capacity by replenishing + // interrupted Spot Instances. + // + // * request - The EC2 Fleet places an asynchronous one-time request for + // your desired capacity, but does submit Spot requests in alternative capacity + // pools if Spot capacity is unavailable, and does not maintain Spot capacity + // if Spot Instances are interrupted. + // + // * instant - The EC2 Fleet places a synchronous one-time request for your + // desired capacity, and returns errors for any instances that could not + // be launched. + // + // For more information, see EC2 Fleet request types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type) // in the Amazon Elastic Compute Cloud User Guide. Type *string `type:"string" enum:"FleetType"` @@ -76484,8 +76632,8 @@ func (s *EnclaveOptions) SetEnabled(v bool) *EnclaveOptions { } // Indicates whether the instance is enabled for AWS Nitro Enclaves. For more -// information, see AWS Nitro Enclaves (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html) -// in the Amazon Elastic Compute Cloud User Guide. +// information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) +// in the AWS Nitro Enclaves User Guide. type EnclaveOptionsRequest struct { _ struct{} `type:"structure"` @@ -78239,6 +78387,126 @@ func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLau return s } +// The strategy to use when Amazon EC2 emits a signal that your Spot Instance +// is at an elevated risk of being interrupted. +type FleetSpotCapacityRebalance struct { + _ struct{} `type:"structure"` + + // To allow EC2 Fleet to launch a replacement Spot Instance when an instance + // rebalance notification is emitted for an existing Spot Instance in the fleet, + // specify launch. Only available for fleets of type maintain. + // + // When a replacement instance is launched, the instance marked for rebalance + // is not automatically terminated. You can terminate it, or you can wait until + // Amazon EC2 interrupts it. You are charged for both instances while they are + // running. + ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"FleetReplacementStrategy"` +} + +// String returns the string representation +func (s FleetSpotCapacityRebalance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetSpotCapacityRebalance) GoString() string { + return s.String() +} + +// SetReplacementStrategy sets the ReplacementStrategy field's value. +func (s *FleetSpotCapacityRebalance) SetReplacementStrategy(v string) *FleetSpotCapacityRebalance { + s.ReplacementStrategy = &v + return s +} + +// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal +// that your Spot Instance is at an elevated risk of being interrupted. For +// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance) +// in the Amazon Elastic Compute Cloud User Guide. +type FleetSpotCapacityRebalanceRequest struct { + _ struct{} `type:"structure"` + + // The replacement strategy to use. Only available for fleets of type maintain. + // + // To allow EC2 Fleet to launch a replacement Spot Instance when an instance + // rebalance notification is emitted for an existing Spot Instance in the fleet, + // specify launch. You must specify a value, otherwise you get an error. + // + // When a replacement instance is launched, the instance marked for rebalance + // is not automatically terminated. You can terminate it, or you can wait until + // Amazon EC2 interrupts it. You are charged for all instances while they are + // running. + ReplacementStrategy *string `type:"string" enum:"FleetReplacementStrategy"` +} + +// String returns the string representation +func (s FleetSpotCapacityRebalanceRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetSpotCapacityRebalanceRequest) GoString() string { + return s.String() +} + +// SetReplacementStrategy sets the ReplacementStrategy field's value. +func (s *FleetSpotCapacityRebalanceRequest) SetReplacementStrategy(v string) *FleetSpotCapacityRebalanceRequest { + s.ReplacementStrategy = &v + return s +} + +// The strategies for managing your Spot Instances that are at an elevated risk +// of being interrupted. +type FleetSpotMaintenanceStrategies struct { + _ struct{} `type:"structure"` + + // The strategy to use when Amazon EC2 emits a signal that your Spot Instance + // is at an elevated risk of being interrupted. + CapacityRebalance *FleetSpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"` +} + +// String returns the string representation +func (s FleetSpotMaintenanceStrategies) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetSpotMaintenanceStrategies) GoString() string { + return s.String() +} + +// SetCapacityRebalance sets the CapacityRebalance field's value. +func (s *FleetSpotMaintenanceStrategies) SetCapacityRebalance(v *FleetSpotCapacityRebalance) *FleetSpotMaintenanceStrategies { + s.CapacityRebalance = v + return s +} + +// The strategies for managing your Spot Instances that are at an elevated risk +// of being interrupted. +type FleetSpotMaintenanceStrategiesRequest struct { + _ struct{} `type:"structure"` + + // The strategy to use when Amazon EC2 emits a signal that your Spot Instance + // is at an elevated risk of being interrupted. + CapacityRebalance *FleetSpotCapacityRebalanceRequest `type:"structure"` +} + +// String returns the string representation +func (s FleetSpotMaintenanceStrategiesRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetSpotMaintenanceStrategiesRequest) GoString() string { + return s.String() +} + +// SetCapacityRebalance sets the CapacityRebalance field's value. +func (s *FleetSpotMaintenanceStrategiesRequest) SetCapacityRebalance(v *FleetSpotCapacityRebalanceRequest) *FleetSpotMaintenanceStrategiesRequest { + s.CapacityRebalance = v + return s +} + // Describes a flow log. type FlowLog struct { _ struct{} `type:"structure"` @@ -90090,6 +90358,9 @@ func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReser type ModifyClientVpnEndpointInput struct { _ struct{} `type:"structure"` + // The options for managing connection authorization for new client connections. + ClientConnectOptions *ClientConnectOptions `type:"structure"` + // The ID of the Client VPN endpoint to modify. // // ClientVpnEndpointId is a required field @@ -90173,6 +90444,12 @@ func (s *ModifyClientVpnEndpointInput) Validate() error { return nil } +// SetClientConnectOptions sets the ClientConnectOptions field's value. +func (s *ModifyClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *ModifyClientVpnEndpointInput { + s.ClientConnectOptions = v + return s +} + // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput { s.ClientVpnEndpointId = &v @@ -90466,9 +90743,7 @@ type ModifyFleetInput struct { LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationName:"LaunchTemplateConfig" locationNameList:"item" type:"list"` // The size of the EC2 Fleet. - // - // TargetCapacitySpecification is a required field - TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"` + TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure"` } // String returns the string representation @@ -90487,9 +90762,6 @@ func (s *ModifyFleetInput) Validate() error { if s.FleetId == nil { invalidParams.Add(request.NewErrParamRequired("FleetId")) } - if s.TargetCapacitySpecification == nil { - invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification")) - } if s.LaunchTemplateConfigs != nil { for i, v := range s.LaunchTemplateConfigs { if v == nil { @@ -104063,13 +104335,10 @@ type RunInstancesInput struct { ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"` // Indicates whether the instance is enabled for AWS Nitro Enclaves. For more - // information, see AWS Nitro Enclaves (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html) - // in the Amazon Elastic Compute Cloud User Guide. + // information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) + // in the AWS Nitro Enclaves User Guide. // // You can't enable AWS Nitro Enclaves and hibernation on the same instance. - // For more information about AWS Nitro Enclaves requirements, see AWS Nitro - // Enclaves (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs) - // in the Amazon Elastic Compute Cloud User Guide. EnclaveOptions *EnclaveOptionsRequest `type:"structure"` // Indicates whether an instance is enabled for hibernation. For more information, @@ -107263,6 +107532,43 @@ func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDe return s } +// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal +// that your Spot Instance is at an elevated risk of being interrupted. For +// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#spot-fleet-capacity-rebalance) +// in the Amazon EC2 User Guide for Linux Instances. +type SpotCapacityRebalance struct { + _ struct{} `type:"structure"` + + // The replacement strategy to use. Only available for fleets of type maintain. + // You must specify a value, otherwise you get an error. + // + // To allow Spot Fleet to launch a replacement Spot Instance when an instance + // rebalance notification is emitted for a Spot Instance in the fleet, specify + // launch. + // + // When a replacement instance is launched, the instance marked for rebalance + // is not automatically terminated. You can terminate it, or you can wait until + // Amazon EC2 interrupts it. You are charged for all instances while they are + // running. + ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"ReplacementStrategy"` +} + +// String returns the string representation +func (s SpotCapacityRebalance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SpotCapacityRebalance) GoString() string { + return s.String() +} + +// SetReplacementStrategy sets the ReplacementStrategy field's value. +func (s *SpotCapacityRebalance) SetReplacementStrategy(v string) *SpotCapacityRebalance { + s.ReplacementStrategy = &v + return s +} + // Describes the data feed for a Spot Instance. type SpotDatafeedSubscription struct { _ struct{} `type:"structure"` @@ -107737,6 +108043,10 @@ type SpotFleetRequestConfigData struct { // Indicates whether Spot Fleet should replace unhealthy instances. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"` + // The strategies for managing your Spot Instances that are at an elevated risk + // of being interrupted. + SpotMaintenanceStrategies *SpotMaintenanceStrategies `locationName:"spotMaintenanceStrategies" type:"structure"` + // The maximum amount per hour for Spot Instances that you're willing to pay. // You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, // or both parameters to ensure that your fleet cost does not exceed your budget. @@ -107926,6 +108236,12 @@ func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotF return s } +// SetSpotMaintenanceStrategies sets the SpotMaintenanceStrategies field's value. +func (s *SpotFleetRequestConfigData) SetSpotMaintenanceStrategies(v *SpotMaintenanceStrategies) *SpotFleetRequestConfigData { + s.SpotMaintenanceStrategies = v + return s +} + // SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value. func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData { s.SpotMaxTotalPrice = &v @@ -108290,6 +108606,32 @@ func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus { return s } +// The strategies for managing your Spot Instances that are at an elevated risk +// of being interrupted. +type SpotMaintenanceStrategies struct { + _ struct{} `type:"structure"` + + // The strategy to use when Amazon EC2 emits a signal that your Spot Instance + // is at an elevated risk of being interrupted. + CapacityRebalance *SpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"` +} + +// String returns the string representation +func (s SpotMaintenanceStrategies) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SpotMaintenanceStrategies) GoString() string { + return s.String() +} + +// SetCapacityRebalance sets the CapacityRebalance field's value. +func (s *SpotMaintenanceStrategies) SetCapacityRebalance(v *SpotCapacityRebalance) *SpotMaintenanceStrategies { + s.CapacityRebalance = v + return s +} + // The options for Spot Instances. type SpotMarketOptions struct { _ struct{} `type:"structure"` @@ -108402,6 +108744,10 @@ type SpotOptions struct { // the number of Spot pools that you specify. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"` + // The strategies for managing your workloads on your Spot Instances that will + // be interrupted. Currently only the capacity rebalance strategy is available. + MaintenanceStrategies *FleetSpotMaintenanceStrategies `locationName:"maintenanceStrategies" type:"structure"` + // The maximum amount per hour for Spot Instances that you're willing to pay. MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"` @@ -108446,6 +108792,12 @@ func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions { return s } +// SetMaintenanceStrategies sets the MaintenanceStrategies field's value. +func (s *SpotOptions) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategies) *SpotOptions { + s.MaintenanceStrategies = v + return s +} + // SetMaxTotalPrice sets the MaxTotalPrice field's value. func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions { s.MaxTotalPrice = &v @@ -108498,6 +108850,10 @@ type SpotOptionsRequest struct { // across the number of Spot pools that you specify. InstancePoolsToUseCount *int64 `type:"integer"` + // The strategies for managing your Spot Instances that are at an elevated risk + // of being interrupted. + MaintenanceStrategies *FleetSpotMaintenanceStrategiesRequest `type:"structure"` + // The maximum amount per hour for Spot Instances that you're willing to pay. MaxTotalPrice *string `type:"string"` @@ -108542,6 +108898,12 @@ func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsReq return s } +// SetMaintenanceStrategies sets the MaintenanceStrategies field's value. +func (s *SpotOptionsRequest) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategiesRequest) *SpotOptionsRequest { + s.MaintenanceStrategies = v + return s +} + // SetMaxTotalPrice sets the MaxTotalPrice field's value. func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest { s.MaxTotalPrice = &v @@ -116451,6 +116813,22 @@ func ClientVpnConnectionStatusCode_Values() []string { } } +const ( + // ClientVpnEndpointAttributeStatusCodeApplying is a ClientVpnEndpointAttributeStatusCode enum value + ClientVpnEndpointAttributeStatusCodeApplying = "applying" + + // ClientVpnEndpointAttributeStatusCodeApplied is a ClientVpnEndpointAttributeStatusCode enum value + ClientVpnEndpointAttributeStatusCodeApplied = "applied" +) + +// ClientVpnEndpointAttributeStatusCode_Values returns all elements of the ClientVpnEndpointAttributeStatusCode enum +func ClientVpnEndpointAttributeStatusCode_Values() []string { + return []string{ + ClientVpnEndpointAttributeStatusCodeApplying, + ClientVpnEndpointAttributeStatusCodeApplied, + } +} + const ( // ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value ClientVpnEndpointStatusCodePendingAssociate = "pending-associate" @@ -117167,6 +117545,18 @@ func FleetOnDemandAllocationStrategy_Values() []string { } } +const ( + // FleetReplacementStrategyLaunch is a FleetReplacementStrategy enum value + FleetReplacementStrategyLaunch = "launch" +) + +// FleetReplacementStrategy_Values returns all elements of the FleetReplacementStrategy enum +func FleetReplacementStrategy_Values() []string { + return []string{ + FleetReplacementStrategyLaunch, + } +} + const ( // FleetStateCodeSubmitted is a FleetStateCode enum value FleetStateCodeSubmitted = "submitted" @@ -119927,6 +120317,18 @@ func RecurringChargeFrequency_Values() []string { } } +const ( + // ReplacementStrategyLaunch is a ReplacementStrategy enum value + ReplacementStrategyLaunch = "launch" +) + +// ReplacementStrategy_Values returns all elements of the ReplacementStrategy enum +func ReplacementStrategy_Values() []string { + return []string{ + ReplacementStrategyLaunch, + } +} + const ( // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state" diff --git a/service/elasticsearchservice/api.go b/service/elasticsearchservice/api.go index 9511ad4892c..6aa4c20ee8e 100644 --- a/service/elasticsearchservice/api.go +++ b/service/elasticsearchservice/api.go @@ -4305,6 +4305,9 @@ type AdvancedSecurityOptions struct { // True if the internal user database is enabled. InternalUserDatabaseEnabled *bool `type:"boolean"` + + // Describes the SAML application configured for a domain. + SAMLOptions *SAMLOptionsOutput `type:"structure"` } // String returns the string representation @@ -4329,6 +4332,12 @@ func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *Advanc return s } +// SetSAMLOptions sets the SAMLOptions field's value. +func (s *AdvancedSecurityOptions) SetSAMLOptions(v *SAMLOptionsOutput) *AdvancedSecurityOptions { + s.SAMLOptions = v + return s +} + // Specifies the advanced security configuration: whether advanced security // is enabled, whether the internal database option is enabled, master username // and password (if internal database is enabled), and master user ARN (if IAM @@ -4344,6 +4353,9 @@ type AdvancedSecurityOptionsInput struct { // Credentials for the master user: username and password, ARN, or both. MasterUserOptions *MasterUserOptions `type:"structure"` + + // Specifies the SAML application configuration for the domain. + SAMLOptions *SAMLOptionsInput `type:"structure"` } // String returns the string representation @@ -4364,6 +4376,11 @@ func (s *AdvancedSecurityOptionsInput) Validate() error { invalidParams.AddNested("MasterUserOptions", err.(request.ErrInvalidParams)) } } + if s.SAMLOptions != nil { + if err := s.SAMLOptions.Validate(); err != nil { + invalidParams.AddNested("SAMLOptions", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -4389,6 +4406,12 @@ func (s *AdvancedSecurityOptionsInput) SetMasterUserOptions(v *MasterUserOptions return s } +// SetSAMLOptions sets the SAMLOptions field's value. +func (s *AdvancedSecurityOptionsInput) SetSAMLOptions(v *SAMLOptionsInput) *AdvancedSecurityOptionsInput { + s.SAMLOptions = v + return s +} + // Specifies the status of advanced security options for the specified Elasticsearch // domain. type AdvancedSecurityOptionsStatus struct { @@ -9921,6 +9944,226 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// Specifies the SAML Identity Provider's information. +type SAMLIdp struct { + _ struct{} `type:"structure"` + + // The unique Entity ID of the application in SAML Identity Provider. + // + // EntityId is a required field + EntityId *string `min:"8" type:"string" required:"true"` + + // The Metadata of the SAML application in xml format. + // + // MetadataContent is a required field + MetadataContent *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s SAMLIdp) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SAMLIdp) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SAMLIdp) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SAMLIdp"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 8 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 8)) + } + if s.MetadataContent == nil { + invalidParams.Add(request.NewErrParamRequired("MetadataContent")) + } + if s.MetadataContent != nil && len(*s.MetadataContent) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetadataContent", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntityId sets the EntityId field's value. +func (s *SAMLIdp) SetEntityId(v string) *SAMLIdp { + s.EntityId = &v + return s +} + +// SetMetadataContent sets the MetadataContent field's value. +func (s *SAMLIdp) SetMetadataContent(v string) *SAMLIdp { + s.MetadataContent = &v + return s +} + +// Specifies the SAML application configuration for the domain. +type SAMLOptionsInput struct { + _ struct{} `type:"structure"` + + // True if SAML is enabled. + Enabled *bool `type:"boolean"` + + // Specifies the SAML Identity Provider's information. + Idp *SAMLIdp `type:"structure"` + + // The backend role to which the SAML master user is mapped to. + MasterBackendRole *string `min:"1" type:"string"` + + // The SAML master username, which is stored in the Amazon Elasticsearch Service + // domain's internal database. + MasterUserName *string `min:"1" type:"string" sensitive:"true"` + + // The key to use for matching the SAML Roles attribute. + RolesKey *string `type:"string"` + + // The duration, in minutes, after which a user session becomes inactive. Acceptable + // values are between 1 and 1440, and the default value is 60. + SessionTimeoutMinutes *int64 `type:"integer"` + + // The key to use for matching the SAML Subject attribute. + SubjectKey *string `type:"string"` +} + +// String returns the string representation +func (s SAMLOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SAMLOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SAMLOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SAMLOptionsInput"} + if s.MasterBackendRole != nil && len(*s.MasterBackendRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MasterBackendRole", 1)) + } + if s.MasterUserName != nil && len(*s.MasterUserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1)) + } + if s.Idp != nil { + if err := s.Idp.Validate(); err != nil { + invalidParams.AddNested("Idp", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *SAMLOptionsInput) SetEnabled(v bool) *SAMLOptionsInput { + s.Enabled = &v + return s +} + +// SetIdp sets the Idp field's value. +func (s *SAMLOptionsInput) SetIdp(v *SAMLIdp) *SAMLOptionsInput { + s.Idp = v + return s +} + +// SetMasterBackendRole sets the MasterBackendRole field's value. +func (s *SAMLOptionsInput) SetMasterBackendRole(v string) *SAMLOptionsInput { + s.MasterBackendRole = &v + return s +} + +// SetMasterUserName sets the MasterUserName field's value. +func (s *SAMLOptionsInput) SetMasterUserName(v string) *SAMLOptionsInput { + s.MasterUserName = &v + return s +} + +// SetRolesKey sets the RolesKey field's value. +func (s *SAMLOptionsInput) SetRolesKey(v string) *SAMLOptionsInput { + s.RolesKey = &v + return s +} + +// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value. +func (s *SAMLOptionsInput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsInput { + s.SessionTimeoutMinutes = &v + return s +} + +// SetSubjectKey sets the SubjectKey field's value. +func (s *SAMLOptionsInput) SetSubjectKey(v string) *SAMLOptionsInput { + s.SubjectKey = &v + return s +} + +// Describes the SAML application configured for the domain. +type SAMLOptionsOutput struct { + _ struct{} `type:"structure"` + + // True if SAML is enabled. + Enabled *bool `type:"boolean"` + + // Describes the SAML Identity Provider's information. + Idp *SAMLIdp `type:"structure"` + + // The key used for matching the SAML Roles attribute. + RolesKey *string `type:"string"` + + // The duration, in minutes, after which a user session becomes inactive. + SessionTimeoutMinutes *int64 `type:"integer"` + + // The key used for matching the SAML Subject attribute. + SubjectKey *string `type:"string"` +} + +// String returns the string representation +func (s SAMLOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SAMLOptionsOutput) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *SAMLOptionsOutput) SetEnabled(v bool) *SAMLOptionsOutput { + s.Enabled = &v + return s +} + +// SetIdp sets the Idp field's value. +func (s *SAMLOptionsOutput) SetIdp(v *SAMLIdp) *SAMLOptionsOutput { + s.Idp = v + return s +} + +// SetRolesKey sets the RolesKey field's value. +func (s *SAMLOptionsOutput) SetRolesKey(v string) *SAMLOptionsOutput { + s.RolesKey = &v + return s +} + +// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value. +func (s *SAMLOptionsOutput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsOutput { + s.SessionTimeoutMinutes = &v + return s +} + +// SetSubjectKey sets the SubjectKey field's value. +func (s *SAMLOptionsOutput) SetSubjectKey(v string) *SAMLOptionsOutput { + s.SubjectKey = &v + return s +} + // The current options of an Elasticsearch domain service software options. type ServiceSoftwareOptions struct { _ struct{} `type:"structure"` diff --git a/service/iot/api.go b/service/iot/api.go index 72906dc6baf..db3a199e19d 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -15990,6 +15990,9 @@ func (c *IoT) ListThingGroupsRequest(input *ListThingGroupsInput) (req *request. // * ResourceNotFoundException // The specified resource does not exist. // +// * ThrottlingException +// The rate exceeds the limit. +// func (c *IoT) ListThingGroups(input *ListThingGroupsInput) (*ListThingGroupsOutput, error) { req, out := c.ListThingGroupsRequest(input) return out, req.Send() @@ -16130,6 +16133,9 @@ func (c *IoT) ListThingGroupsForThingRequest(input *ListThingGroupsForThingInput // * ResourceNotFoundException // The specified resource does not exist. // +// * ThrottlingException +// The rate exceeds the limit. +// func (c *IoT) ListThingGroupsForThing(input *ListThingGroupsForThingInput) (*ListThingGroupsForThingOutput, error) { req, out := c.ListThingGroupsForThingRequest(input) return out, req.Send() @@ -16232,6 +16238,12 @@ func (c *IoT) ListThingPrincipalsRequest(input *ListThingPrincipalsInput) (req * Name: opListThingPrincipals, HTTPMethod: "GET", HTTPPath: "/things/{thingName}/principals", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -16296,6 +16308,58 @@ func (c *IoT) ListThingPrincipalsWithContext(ctx aws.Context, input *ListThingPr return out, req.Send() } +// ListThingPrincipalsPages iterates over the pages of a ListThingPrincipals operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingPrincipals 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 ListThingPrincipals operation. +// pageNum := 0 +// err := client.ListThingPrincipalsPages(params, +// func(page *iot.ListThingPrincipalsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingPrincipalsPages(input *ListThingPrincipalsInput, fn func(*ListThingPrincipalsOutput, bool) bool) error { + return c.ListThingPrincipalsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingPrincipalsPagesWithContext same as ListThingPrincipalsPages 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 *IoT) ListThingPrincipalsPagesWithContext(ctx aws.Context, input *ListThingPrincipalsInput, fn func(*ListThingPrincipalsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingPrincipalsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingPrincipalsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingPrincipalsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingRegistrationTaskReports = "ListThingRegistrationTaskReports" // ListThingRegistrationTaskReportsRequest generates a "aws/request.Request" representing the @@ -17091,6 +17155,9 @@ func (c *IoT) ListThingsInThingGroupRequest(input *ListThingsInThingGroupInput) // * ResourceNotFoundException // The specified resource does not exist. // +// * ThrottlingException +// The rate exceeds the limit. +// func (c *IoT) ListThingsInThingGroup(input *ListThingsInThingGroupInput) (*ListThingsInThingGroupOutput, error) { req, out := c.ListThingsInThingGroupRequest(input) return out, req.Send() @@ -39832,7 +39899,8 @@ type ListBillingGroupsInput struct { // Limit the results to billing groups whose names have the given prefix. NamePrefixFilter *string `location:"querystring" locationName:"namePrefixFilter" min:"1" type:"string"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -39886,8 +39954,8 @@ type ListBillingGroupsOutput struct { // The list of billing groups. BillingGroups []*GroupNameAndArn `locationName:"billingGroups" type:"list"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -41455,7 +41523,8 @@ type ListPrincipalThingsInput struct { // The maximum number of results to return in this operation. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The principal. @@ -41512,8 +41581,8 @@ func (s *ListPrincipalThingsInput) SetPrincipal(v string) *ListPrincipalThingsIn type ListPrincipalThingsOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` // The things. @@ -42158,7 +42227,8 @@ func (s *ListStreamsOutput) SetStreams(v []*StreamSummary) *ListStreamsOutput { type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The ARN of the resource. @@ -42205,8 +42275,8 @@ func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResource type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` // The list of tags assigned to the resource. @@ -42430,7 +42500,8 @@ type ListThingGroupsForThingInput struct { // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The thing name. @@ -42489,8 +42560,8 @@ func (s *ListThingGroupsForThingInput) SetThingName(v string) *ListThingGroupsFo type ListThingGroupsForThingOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` // The thing groups. @@ -42528,7 +42599,8 @@ type ListThingGroupsInput struct { // A filter that limits the results to those with the specified name prefix. NamePrefixFilter *string `location:"querystring" locationName:"namePrefixFilter" min:"1" type:"string"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // A filter that limits the results to those with the specified parent group. @@ -42600,8 +42672,8 @@ func (s *ListThingGroupsInput) SetRecursive(v bool) *ListThingGroupsInput { type ListThingGroupsOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results. Will not be returned if operation - // has returned all results. + // The token to use to get the next set of results. Will not be returned if + // operation has returned all results. NextToken *string `locationName:"nextToken" type:"string"` // The thing groups. @@ -42634,6 +42706,13 @@ func (s *ListThingGroupsOutput) SetThingGroups(v []*GroupNameAndArn) *ListThingG type ListThingPrincipalsInput struct { _ struct{} `type:"structure"` + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The name of the thing. // // ThingName is a required field @@ -42653,6 +42732,9 @@ func (s ListThingPrincipalsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListThingPrincipalsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListThingPrincipalsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } if s.ThingName == nil { invalidParams.Add(request.NewErrParamRequired("ThingName")) } @@ -42666,6 +42748,18 @@ func (s *ListThingPrincipalsInput) Validate() error { return nil } +// SetMaxResults sets the MaxResults field's value. +func (s *ListThingPrincipalsInput) SetMaxResults(v int64) *ListThingPrincipalsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListThingPrincipalsInput) SetNextToken(v string) *ListThingPrincipalsInput { + s.NextToken = &v + return s +} + // SetThingName sets the ThingName field's value. func (s *ListThingPrincipalsInput) SetThingName(v string) *ListThingPrincipalsInput { s.ThingName = &v @@ -42676,6 +42770,10 @@ func (s *ListThingPrincipalsInput) SetThingName(v string) *ListThingPrincipalsIn type ListThingPrincipalsOutput struct { _ struct{} `type:"structure"` + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `locationName:"nextToken" type:"string"` + // The principals associated with the thing. Principals []*string `locationName:"principals" type:"list"` } @@ -42690,6 +42788,12 @@ func (s ListThingPrincipalsOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *ListThingPrincipalsOutput) SetNextToken(v string) *ListThingPrincipalsOutput { + s.NextToken = &v + return s +} + // SetPrincipals sets the Principals field's value. func (s *ListThingPrincipalsOutput) SetPrincipals(v []*string) *ListThingPrincipalsOutput { s.Principals = v @@ -42702,7 +42806,8 @@ type ListThingRegistrationTaskReportsInput struct { // The maximum number of results to return per request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The type of task report. @@ -42775,8 +42880,8 @@ func (s *ListThingRegistrationTaskReportsInput) SetTaskId(v string) *ListThingRe type ListThingRegistrationTaskReportsOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` // The type of task report. @@ -42820,7 +42925,8 @@ type ListThingRegistrationTasksInput struct { // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The status of the bulk thing provisioning task. @@ -42871,8 +42977,8 @@ func (s *ListThingRegistrationTasksInput) SetStatus(v string) *ListThingRegistra type ListThingRegistrationTasksOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` // A list of bulk thing provisioning task IDs. @@ -42908,7 +43014,8 @@ type ListThingTypesInput struct { // The maximum number of results to return in this operation. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The name of the thing type. @@ -43004,7 +43111,8 @@ type ListThingsInBillingGroupInput struct { // The maximum number of results to return per request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -43058,8 +43166,8 @@ func (s *ListThingsInBillingGroupInput) SetNextToken(v string) *ListThingsInBill type ListThingsInBillingGroupOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results. Will not be returned if operation - // has returned all results. + // The token to use to get the next set of results. Will not be returned if + // operation has returned all results. NextToken *string `locationName:"nextToken" type:"string"` // A list of things in the billing group. @@ -43094,7 +43202,8 @@ type ListThingsInThingGroupInput struct { // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // When true, list things in this thing group and in all child groups as well. @@ -43162,8 +43271,8 @@ func (s *ListThingsInThingGroupInput) SetThingGroupName(v string) *ListThingsInT type ListThingsInThingGroupOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` // The things in the specified thing group. @@ -43205,7 +43314,8 @@ type ListThingsInput struct { // The maximum number of results to return in this operation. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The name of the thing type used to search for things. @@ -43272,8 +43382,8 @@ func (s *ListThingsInput) SetThingTypeName(v string) *ListThingsInput { type ListThingsOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results. Will not be returned if operation - // has returned all results. + // The token to use to get the next set of results. Will not be returned if + // operation has returned all results. NextToken *string `locationName:"nextToken" type:"string"` // The things. @@ -43308,7 +43418,8 @@ type ListTopicRuleDestinationsInput struct { // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token to retrieve the next set of results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -43353,7 +43464,8 @@ type ListTopicRuleDestinationsOutput struct { // Information about a topic rule destination. DestinationSummaries []*TopicRuleDestinationSummary `locationName:"destinationSummaries" type:"list"` - // The token to retrieve the next set of results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -43386,7 +43498,8 @@ type ListTopicRulesInput struct { // The maximum number of results to return. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // A token used to retrieve the next value. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // Specifies whether the rule is disabled. @@ -43447,7 +43560,8 @@ func (s *ListTopicRulesInput) SetTopic(v string) *ListTopicRulesInput { type ListTopicRulesOutput struct { _ struct{} `type:"structure"` - // A token used to retrieve the next value. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` // The rules. @@ -43482,8 +43596,8 @@ type ListV2LoggingLevelsInput struct { // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token used to get the next set of results, or null if there are no additional - // results. + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The type of resource for which you are configuring logging. Must be THING_Group. @@ -43537,8 +43651,8 @@ type ListV2LoggingLevelsOutput struct { // The logging configuration for a target. LogTargetConfigurations []*LogTargetConfiguration `locationName:"logTargetConfigurations" type:"list"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token to use to get the next set of results, or null if there are no + // additional results. NextToken *string `locationName:"nextToken" type:"string"` } diff --git a/service/iot/iotiface/interface.go b/service/iot/iotiface/interface.go index 424840f64d5..e3fd2a77258 100644 --- a/service/iot/iotiface/interface.go +++ b/service/iot/iotiface/interface.go @@ -795,6 +795,9 @@ type IoTAPI interface { ListThingPrincipalsWithContext(aws.Context, *iot.ListThingPrincipalsInput, ...request.Option) (*iot.ListThingPrincipalsOutput, error) ListThingPrincipalsRequest(*iot.ListThingPrincipalsInput) (*request.Request, *iot.ListThingPrincipalsOutput) + ListThingPrincipalsPages(*iot.ListThingPrincipalsInput, func(*iot.ListThingPrincipalsOutput, bool) bool) error + ListThingPrincipalsPagesWithContext(aws.Context, *iot.ListThingPrincipalsInput, func(*iot.ListThingPrincipalsOutput, bool) bool, ...request.Option) error + ListThingRegistrationTaskReports(*iot.ListThingRegistrationTaskReportsInput) (*iot.ListThingRegistrationTaskReportsOutput, error) ListThingRegistrationTaskReportsWithContext(aws.Context, *iot.ListThingRegistrationTaskReportsInput, ...request.Option) (*iot.ListThingRegistrationTaskReportsOutput, error) ListThingRegistrationTaskReportsRequest(*iot.ListThingRegistrationTaskReportsInput) (*request.Request, *iot.ListThingRegistrationTaskReportsOutput) diff --git a/service/marketplacemetering/api.go b/service/marketplacemetering/api.go index bfd5aeaf9d4..bb6e5915060 100644 --- a/service/marketplacemetering/api.go +++ b/service/marketplacemetering/api.go @@ -67,6 +67,12 @@ func (c *MarketplaceMetering) BatchMeterUsageRequest(input *BatchMeterUsageInput // // BatchMeterUsage can process up to 25 UsageRecords at a time. // +// A UsageRecord can optionally include multiple usage allocations, to provide +// customers with usagedata split into buckets by tags that you define (or allow +// the customer to define). +// +// BatchMeterUsage requests must be less than 1MB in size. +// // 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. @@ -87,6 +93,13 @@ func (c *MarketplaceMetering) BatchMeterUsageRequest(input *BatchMeterUsageInput // The usage dimension does not match one of the UsageDimensions associated // with products. // +// * InvalidTagException +// The tag is invalid, or the number of tags is greater than 5. +// +// * InvalidUsageAllocationsException +// The usage allocation objects are invalid, or the number of allocations is +// greater than 500 for a single usage record. +// // * InvalidCustomerIdentifierException // You have metered usage for a CustomerIdentifier that does not exist. // @@ -171,6 +184,10 @@ func (c *MarketplaceMetering) MeterUsageRequest(input *MeterUsageInput) (req *re // MeterUsage is authenticated on the buyer's AWS account using credentials // from the EC2 instance, ECS task, or EKS pod. // +// MeterUsage can optionally include multiple usage allocations, to provide +// customers with usage data split into buckets by tags that you define (or +// allow the customer to define). +// // 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. @@ -191,6 +208,13 @@ func (c *MarketplaceMetering) MeterUsageRequest(input *MeterUsageInput) (req *re // The usage dimension does not match one of the UsageDimensions associated // with products. // +// * InvalidTagException +// The tag is invalid, or the number of tags is greater than 5. +// +// * InvalidUsageAllocationsException +// The usage allocation objects are invalid, or the number of allocations is +// greater than 500 for a single usage record. +// // * InvalidEndpointRegionException // The endpoint being called is in a AWS Region different from your EC2 instance, // ECS task, or EKS pod. The Region of the Metering Service endpoint and the @@ -1148,6 +1172,62 @@ func (s *InvalidRegionException) RequestID() string { return s.RespMetadata.RequestID } +// The tag is invalid, or the number of tags is greater than 5. +type InvalidTagException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidTagException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidTagException) GoString() string { + return s.String() +} + +func newErrorInvalidTagException(v protocol.ResponseMetadata) error { + return &InvalidTagException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidTagException) Code() string { + return "InvalidTagException" +} + +// Message returns the exception's message. +func (s *InvalidTagException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidTagException) OrigErr() error { + return nil +} + +func (s *InvalidTagException) 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 *InvalidTagException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidTagException) RequestID() string { + return s.RespMetadata.RequestID +} + // Registration token is invalid. type InvalidTokenException struct { _ struct{} `type:"structure"` @@ -1204,6 +1284,63 @@ func (s *InvalidTokenException) RequestID() string { return s.RespMetadata.RequestID } +// The usage allocation objects are invalid, or the number of allocations is +// greater than 500 for a single usage record. +type InvalidUsageAllocationsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidUsageAllocationsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidUsageAllocationsException) GoString() string { + return s.String() +} + +func newErrorInvalidUsageAllocationsException(v protocol.ResponseMetadata) error { + return &InvalidUsageAllocationsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidUsageAllocationsException) Code() string { + return "InvalidUsageAllocationsException" +} + +// Message returns the exception's message. +func (s *InvalidUsageAllocationsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidUsageAllocationsException) OrigErr() error { + return nil +} + +func (s *InvalidUsageAllocationsException) 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 *InvalidUsageAllocationsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidUsageAllocationsException) RequestID() string { + return s.RespMetadata.RequestID +} + // The usage dimension does not match one of the UsageDimensions associated // with products. type InvalidUsageDimensionException struct { @@ -1283,6 +1420,13 @@ type MeterUsageInput struct { // Timestamp is a required field Timestamp *time.Time `type:"timestamp" required:"true"` + // The set of UsageAllocations to submit. + // + // The sum of all UsageAllocation quantities must equal the UsageQuantity of + // the MeterUsage request, and each UsageAllocation must have a unique set of + // tags (include no tags). + UsageAllocations []*UsageAllocation `min:"1" type:"list"` + // It will be one of the fcp dimension name provided during the publishing of // the product. // @@ -1315,12 +1459,25 @@ func (s *MeterUsageInput) Validate() error { if s.Timestamp == nil { invalidParams.Add(request.NewErrParamRequired("Timestamp")) } + if s.UsageAllocations != nil && len(s.UsageAllocations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UsageAllocations", 1)) + } if s.UsageDimension == nil { invalidParams.Add(request.NewErrParamRequired("UsageDimension")) } if s.UsageDimension != nil && len(*s.UsageDimension) < 1 { invalidParams.Add(request.NewErrParamMinLen("UsageDimension", 1)) } + if s.UsageAllocations != nil { + for i, v := range s.UsageAllocations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UsageAllocations", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1346,6 +1503,12 @@ func (s *MeterUsageInput) SetTimestamp(v time.Time) *MeterUsageInput { return s } +// SetUsageAllocations sets the UsageAllocations field's value. +func (s *MeterUsageInput) SetUsageAllocations(v []*UsageAllocation) *MeterUsageInput { + s.UsageAllocations = v + return s +} + // SetUsageDimension sets the UsageDimension field's value. func (s *MeterUsageInput) SetUsageDimension(v string) *MeterUsageInput { s.UsageDimension = &v @@ -1619,6 +1782,67 @@ func (s *ResolveCustomerOutput) SetProductCode(v string) *ResolveCustomerOutput return s } +// Metadata assigned to an allocation. Each tag is made up of a key and a value. +type Tag struct { + _ struct{} `type:"structure"` + + // One part of a key-value pair that makes up a tag. A key is a label that acts + // like a category for the specific tag values. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // One part of a key-value pair that makes up a tag. A value acts as a descriptor + // within a tag category (key). The value can be empty or null. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + // The calls to the API are throttled. type ThrottlingException struct { _ struct{} `type:"structure"` @@ -1731,6 +1955,70 @@ func (s *TimestampOutOfBoundsException) RequestID() string { return s.RespMetadata.RequestID } +// Usage allocations allow you to split usage into buckets by tags. +// +// Each UsageAllocation indicates the usage quantity for a specific set of tags. +type UsageAllocation struct { + _ struct{} `type:"structure"` + + // The total quantity allocated to this bucket of usage. + // + // AllocatedUsageQuantity is a required field + AllocatedUsageQuantity *int64 `type:"integer" required:"true"` + + // The set of tags that define the bucket of usage. For the bucket of items + // with no tags, this parameter can be left out. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s UsageAllocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageAllocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UsageAllocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UsageAllocation"} + if s.AllocatedUsageQuantity == nil { + invalidParams.Add(request.NewErrParamRequired("AllocatedUsageQuantity")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllocatedUsageQuantity sets the AllocatedUsageQuantity field's value. +func (s *UsageAllocation) SetAllocatedUsageQuantity(v int64) *UsageAllocation { + s.AllocatedUsageQuantity = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UsageAllocation) SetTags(v []*Tag) *UsageAllocation { + s.Tags = v + return s +} + // A UsageRecord indicates a quantity of usage for a given product, customer, // dimension and time. // @@ -1763,6 +2051,10 @@ type UsageRecord struct { // // Timestamp is a required field Timestamp *time.Time `type:"timestamp" required:"true"` + + // The set of UsageAllocations to submit. The sum of all UsageAllocation quantities + // must equal the Quantity of the UsageRecord. + UsageAllocations []*UsageAllocation `min:"1" type:"list"` } // String returns the string representation @@ -1793,6 +2085,19 @@ func (s *UsageRecord) Validate() error { if s.Timestamp == nil { invalidParams.Add(request.NewErrParamRequired("Timestamp")) } + if s.UsageAllocations != nil && len(s.UsageAllocations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UsageAllocations", 1)) + } + if s.UsageAllocations != nil { + for i, v := range s.UsageAllocations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UsageAllocations", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1824,6 +2129,12 @@ func (s *UsageRecord) SetTimestamp(v time.Time) *UsageRecord { return s } +// SetUsageAllocations sets the UsageAllocations field's value. +func (s *UsageRecord) SetUsageAllocations(v []*UsageAllocation) *UsageRecord { + s.UsageAllocations = v + return s +} + // A UsageRecordResult indicates the status of a given UsageRecord processed // by BatchMeterUsage. type UsageRecordResult struct { diff --git a/service/marketplacemetering/errors.go b/service/marketplacemetering/errors.go index c8c2fbfac8b..5a3878b6f1b 100644 --- a/service/marketplacemetering/errors.go +++ b/service/marketplacemetering/errors.go @@ -81,12 +81,25 @@ const ( // when calling RegisterUsage. ErrCodeInvalidRegionException = "InvalidRegionException" + // ErrCodeInvalidTagException for service response error code + // "InvalidTagException". + // + // The tag is invalid, or the number of tags is greater than 5. + ErrCodeInvalidTagException = "InvalidTagException" + // ErrCodeInvalidTokenException for service response error code // "InvalidTokenException". // // Registration token is invalid. ErrCodeInvalidTokenException = "InvalidTokenException" + // ErrCodeInvalidUsageAllocationsException for service response error code + // "InvalidUsageAllocationsException". + // + // The usage allocation objects are invalid, or the number of allocations is + // greater than 500 for a single usage record. + ErrCodeInvalidUsageAllocationsException = "InvalidUsageAllocationsException" + // ErrCodeInvalidUsageDimensionException for service response error code // "InvalidUsageDimensionException". // @@ -125,7 +138,9 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidProductCodeException": newErrorInvalidProductCodeException, "InvalidPublicKeyVersionException": newErrorInvalidPublicKeyVersionException, "InvalidRegionException": newErrorInvalidRegionException, + "InvalidTagException": newErrorInvalidTagException, "InvalidTokenException": newErrorInvalidTokenException, + "InvalidUsageAllocationsException": newErrorInvalidUsageAllocationsException, "InvalidUsageDimensionException": newErrorInvalidUsageDimensionException, "PlatformNotSupportedException": newErrorPlatformNotSupportedException, "ThrottlingException": newErrorThrottlingException, diff --git a/service/mq/api.go b/service/mq/api.go index 1b64630866e..7a0fb4aed78 100644 --- a/service/mq/api.go +++ b/service/mq/api.go @@ -2136,13 +2136,14 @@ func (s *BrokerEngineType) SetEngineVersions(v []*EngineVersion) *BrokerEngineTy type BrokerInstance struct { _ struct{} `type:"structure"` - // The URL of the broker's ActiveMQ Web Console. + // The URL of the broker's Web Console. ConsoleURL *string `locationName:"consoleURL" type:"string"` // The broker's wire-level protocol endpoints. Endpoints []*string `locationName:"endpoints" type:"list"` // The IP address of the Elastic Network Interface (ENI) attached to the broker. + // Does not apply to RabbitMQ brokers IpAddress *string `locationName:"ipAddress" type:"string"` } @@ -2268,6 +2269,9 @@ type BrokerSummary struct { // Required. The deployment mode of the broker. DeploymentMode *string `locationName:"deploymentMode" type:"string" enum:"DeploymentMode"` + // Required. The type of broker engine. + EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` + // The broker's instance type. HostInstanceType *string `locationName:"hostInstanceType" type:"string"` } @@ -2318,6 +2322,12 @@ func (s *BrokerSummary) SetDeploymentMode(v string) *BrokerSummary { return s } +// SetEngineType sets the EngineType field's value. +func (s *BrokerSummary) SetEngineType(v string) *BrokerSummary { + s.EngineType = &v + return s +} + // SetHostInstanceType sets the HostInstanceType field's value. func (s *BrokerSummary) SetHostInstanceType(v string) *BrokerSummary { s.HostInstanceType = &v @@ -2341,7 +2351,7 @@ type Configuration struct { Description *string `locationName:"description" type:"string"` // Required. The type of broker engine. Note: Currently, Amazon MQ supports - // only ACTIVEMQ. + // ACTIVEMQ and RABBITMQ. EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` // Required. The version of the broker engine. For a list of supported engine @@ -2433,7 +2443,8 @@ func (s *Configuration) SetTags(v map[string]*string) *Configuration { return s } -// A list of information about the configuration. +// A list of information about the configuration. Does not apply to RabbitMQ +// brokers. type ConfigurationId struct { _ struct{} `type:"structure"` @@ -2618,7 +2629,8 @@ type CreateBrokerRequest struct { BrokerName *string `locationName:"brokerName" type:"string"` - // A list of information about the configuration. + // A list of information about the configuration. Does not apply to RabbitMQ + // brokers. Configuration *ConfigurationId `locationName:"configuration" type:"structure"` CreatorRequestId *string `locationName:"creatorRequestId" type:"string" idempotencyToken:"true"` @@ -2629,7 +2641,8 @@ type CreateBrokerRequest struct { // Encryption options for the broker. EncryptionOptions *EncryptionOptions `locationName:"encryptionOptions" type:"structure"` - // The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ. + // The type of broker engine. Note: Currently, Amazon MQ supports ActiveMQ and + // RabbitMQ. EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` EngineVersion *string `locationName:"engineVersion" type:"string"` @@ -2637,7 +2650,7 @@ type CreateBrokerRequest struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` // The metadata of the LDAP server used to authenticate and authorize connections - // to the broker. + // to the broker. Currently not supported for RabbitMQ engine type. LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"` // The list of information about logs to be enabled for the specified broker. @@ -2651,7 +2664,8 @@ type CreateBrokerRequest struct { SecurityGroups []*string `locationName:"securityGroups" type:"list"` - // The storage type of the broker. + // The storage type of the broker. EFS is currently not Supported for RabbitMQ + // engine type. StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"` SubnetIds []*string `locationName:"subnetIds" type:"list"` @@ -2836,7 +2850,8 @@ type CreateConfigurationRequest struct { // The authentication strategy used to secure the broker. AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` - // The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ. + // The type of broker engine. Note: Currently, Amazon MQ supports ActiveMQ and + // RabbitMQ. EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` EngineVersion *string `locationName:"engineVersion" type:"string"` @@ -3560,7 +3575,8 @@ type DescribeBrokerResponse struct { // Encryption options for the broker. EncryptionOptions *EncryptionOptions `locationName:"encryptionOptions" type:"structure"` - // The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ. + // The type of broker engine. Note: Currently, Amazon MQ supports ActiveMQ and + // RabbitMQ. EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` EngineVersion *string `locationName:"engineVersion" type:"string"` @@ -3596,7 +3612,8 @@ type DescribeBrokerResponse struct { SecurityGroups []*string `locationName:"securityGroups" type:"list"` - // The storage type of the broker. + // The storage type of the broker. EFS is currently not Supported for RabbitMQ + // engine type. StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"` SubnetIds []*string `locationName:"subnetIds" type:"list"` @@ -3835,7 +3852,8 @@ type DescribeConfigurationOutput struct { Description *string `locationName:"description" type:"string"` - // The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ. + // The type of broker engine. Note: Currently, Amazon MQ supports ActiveMQ and + // RabbitMQ. EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` EngineVersion *string `locationName:"engineVersion" type:"string"` @@ -4321,7 +4339,7 @@ func (s *InternalServerErrorException) RequestID() string { } // The metadata of the LDAP server used to authenticate and authorize connections -// to the broker. +// to the broker. Currently not supported for RabbitMQ engine type. type LdapServerMetadataInput struct { _ struct{} `type:"structure"` @@ -4975,7 +4993,7 @@ type Logs struct { _ struct{} `type:"structure"` // Enables audit logging. Every user management action made using JMX or the - // ActiveMQ Web Console is logged. + // ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers. Audit *bool `locationName:"audit" type:"boolean"` // Enables general logging. @@ -5324,7 +5342,8 @@ type UpdateBrokerRequest struct { // BrokerId is a required field BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"` - // A list of information about the configuration. + // A list of information about the configuration. Does not apply to RabbitMQ + // brokers. Configuration *ConfigurationId `locationName:"configuration" type:"structure"` EngineVersion *string `locationName:"engineVersion" type:"string"` @@ -5332,7 +5351,7 @@ type UpdateBrokerRequest struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` // The metadata of the LDAP server used to authenticate and authorize connections - // to the broker. + // to the broker. Currently not supported for RabbitMQ engine type. LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"` // The list of information about logs to be enabled for the specified broker. @@ -5431,7 +5450,8 @@ type UpdateBrokerResponse struct { BrokerId *string `locationName:"brokerId" type:"string"` - // A list of information about the configuration. + // A list of information about the configuration. Does not apply to RabbitMQ + // brokers. Configuration *ConfigurationId `locationName:"configuration" type:"structure"` EngineVersion *string `locationName:"engineVersion" type:"string"` @@ -5722,11 +5742,12 @@ func (s *UpdateUserRequest) SetUsername(v string) *UpdateUserRequest { return s } -// An ActiveMQ user associated with the broker. +// A user associated with the broker. type User struct { _ struct{} `type:"structure"` - // Enables access to the the ActiveMQ Web Console for the ActiveMQ user. + // Enables access to the ActiveMQ Web Console for the ActiveMQ user (Does not + // apply to RabbitMQ brokers). ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"` // The list of groups (20 maximum) to which the ActiveMQ user belongs. This @@ -5734,14 +5755,14 @@ type User struct { // and tildes (- . _ ~). This value must be 2-100 characters long. Groups []*string `locationName:"groups" type:"list"` - // Required. The password of the ActiveMQ user. This value must be at least - // 12 characters long, must contain at least 4 unique characters, and must not + // Required. The password of the broker user. This value must be at least 12 + // characters long, must contain at least 4 unique characters, and must not // contain commas. Password *string `locationName:"password" type:"string"` - // Required. The username of the ActiveMQ user. This value can contain only - // alphanumeric characters, dashes, periods, underscores, and tildes (- . _ - // ~). This value must be 2-100 characters long. + // Required. The username of the broker user. This value can contain only alphanumeric + // characters, dashes, periods, underscores, and tildes (- . _ ~). This value + // must be 2-100 characters long. Username *string `locationName:"username" type:"string"` } @@ -5824,16 +5845,16 @@ func (s *UserPendingChanges) SetPendingChange(v string) *UserPendingChanges { return s } -// Returns a list of all ActiveMQ users. +// Returns a list of all broker users. type UserSummary struct { _ struct{} `type:"structure"` - // The type of change pending for the ActiveMQ user. + // The type of change pending for the broker user. PendingChange *string `locationName:"pendingChange" type:"string" enum:"ChangeType"` - // Required. The username of the ActiveMQ user. This value can contain only - // alphanumeric characters, dashes, periods, underscores, and tildes (- . _ - // ~). This value must be 2-100 characters long. + // Required. The username of the broker user. This value can contain only alphanumeric + // characters, dashes, periods, underscores, and tildes (- . _ ~). This value + // must be 2-100 characters long. Username *string `locationName:"username" type:"string"` } @@ -5949,7 +5970,8 @@ func BrokerState_Values() []string { } } -// The storage type of the broker. +// The storage type of the broker. EFS is currently not Supported for RabbitMQ +// engine type. const ( // BrokerStorageTypeEbs is a BrokerStorageType enum value BrokerStorageTypeEbs = "EBS" @@ -6030,6 +6052,9 @@ const ( // DeploymentModeActiveStandbyMultiAz is a DeploymentMode enum value DeploymentModeActiveStandbyMultiAz = "ACTIVE_STANDBY_MULTI_AZ" + + // DeploymentModeClusterMultiAz is a DeploymentMode enum value + DeploymentModeClusterMultiAz = "CLUSTER_MULTI_AZ" ) // DeploymentMode_Values returns all elements of the DeploymentMode enum @@ -6037,19 +6062,25 @@ func DeploymentMode_Values() []string { return []string{ DeploymentModeSingleInstance, DeploymentModeActiveStandbyMultiAz, + DeploymentModeClusterMultiAz, } } -// The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ. +// The type of broker engine. Note: Currently, Amazon MQ supports ActiveMQ and +// RabbitMQ. const ( // EngineTypeActivemq is a EngineType enum value EngineTypeActivemq = "ACTIVEMQ" + + // EngineTypeRabbitmq is a EngineType enum value + EngineTypeRabbitmq = "RABBITMQ" ) // EngineType_Values returns all elements of the EngineType enum func EngineType_Values() []string { return []string{ EngineTypeActivemq, + EngineTypeRabbitmq, } } diff --git a/service/mq/doc.go b/service/mq/doc.go index 70472ab6641..b66bdde07dd 100644 --- a/service/mq/doc.go +++ b/service/mq/doc.go @@ -3,10 +3,11 @@ // Package mq provides the client and types for making API // requests to AmazonMQ. // -// Amazon MQ is a managed message broker service for Apache ActiveMQ that makes -// it easy to set up and operate message brokers in the cloud. A message broker -// allows software applications and components to communicate using various -// programming languages, operating systems, and formal messaging protocols. +// Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ +// that makes it easy to set up and operate message brokers in the cloud. A +// message broker allows software applications and components to communicate +// using various programming languages, operating systems, and formal messaging +// protocols. // // See https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27 for more information on this service. // diff --git a/service/servicecatalog/api.go b/service/servicecatalog/api.go index 4fd104c59ab..e7fbd8a32bd 100644 --- a/service/servicecatalog/api.go +++ b/service/servicecatalog/api.go @@ -20682,8 +20682,11 @@ type UpdateProvisionedProductPropertiesInput struct { // to call UpdateProvisionedProductProperties to update the launch role that // is associated with a provisioned product. This role is used when an end-user // calls a provisioning operation such as UpdateProvisionedProduct, TerminateProvisionedProduct, - // or ExecuteProvisionedProductServiceAction. Only an ARN role is valid. A user - // ARN is invalid. + // or ExecuteProvisionedProductServiceAction. Only an ARN role or null is valid. + // A user ARN is invalid. For example, if an admin user passes null as the value + // for the key LAUNCH_ROLE, the admin removes the launch role that is associated + // with the provisioned product. As a result, the end user operations use the + // credentials of the end user. // // The OWNER key accepts user ARNs and role ARNs. The owner is the user that // has permission to see, update, terminate, and execute service actions in diff --git a/service/transcribestreamingservice/api.go b/service/transcribestreamingservice/api.go index 85318c6784e..fa983177982 100644 --- a/service/transcribestreamingservice/api.go +++ b/service/transcribestreamingservice/api.go @@ -1673,6 +1673,12 @@ const ( // LanguageCodeEnAu is a LanguageCode enum value LanguageCodeEnAu = "en-AU" + + // LanguageCodeItIt is a LanguageCode enum value + LanguageCodeItIt = "it-IT" + + // LanguageCodeDeDe is a LanguageCode enum value + LanguageCodeDeDe = "de-DE" ) // LanguageCode_Values returns all elements of the LanguageCode enum @@ -1684,6 +1690,8 @@ func LanguageCode_Values() []string { LanguageCodeFrCa, LanguageCodeFrFr, LanguageCodeEnAu, + LanguageCodeItIt, + LanguageCodeDeDe, } } diff --git a/service/xray/api.go b/service/xray/api.go index 964f2763cab..3b6c2e3fafa 100644 --- a/service/xray/api.go +++ b/service/xray/api.go @@ -797,64 +797,60 @@ func (c *XRay) GetGroupsPagesWithContext(ctx aws.Context, input *GetGroupsInput, return p.Err() } -const opGetSamplingRules = "GetSamplingRules" +const opGetInsight = "GetInsight" -// GetSamplingRulesRequest generates a "aws/request.Request" representing the -// client's request for the GetSamplingRules operation. The "output" return +// GetInsightRequest generates a "aws/request.Request" representing the +// client's request for the GetInsight 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 GetSamplingRules for more information on using the GetSamplingRules +// See GetInsight for more information on using the GetInsight // 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 GetSamplingRulesRequest method. -// req, resp := client.GetSamplingRulesRequest(params) +// // Example sending a request using the GetInsightRequest method. +// req, resp := client.GetInsightRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules -func (c *XRay) GetSamplingRulesRequest(input *GetSamplingRulesInput) (req *request.Request, output *GetSamplingRulesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsight +func (c *XRay) GetInsightRequest(input *GetInsightInput) (req *request.Request, output *GetInsightOutput) { op := &request.Operation{ - Name: opGetSamplingRules, + Name: opGetInsight, HTTPMethod: "POST", - HTTPPath: "/GetSamplingRules", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "", - TruncationToken: "", - }, + HTTPPath: "/Insight", } if input == nil { - input = &GetSamplingRulesInput{} + input = &GetInsightInput{} } - output = &GetSamplingRulesOutput{} + output = &GetInsightOutput{} req = c.newRequest(op, input, output) return } -// GetSamplingRules API operation for AWS X-Ray. +// GetInsight API operation for AWS X-Ray. // -// Retrieves all sampling rules. +// Retrieves the summary information of an insight. This includes impact to +// clients and root cause services, the top anomalous services, the category, +// the state of the insight, and the start and end time of the insight. // // 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 X-Ray's -// API operation GetSamplingRules for usage and error information. +// API operation GetInsight for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -863,138 +859,88 @@ func (c *XRay) GetSamplingRulesRequest(input *GetSamplingRulesInput) (req *reque // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules -func (c *XRay) GetSamplingRules(input *GetSamplingRulesInput) (*GetSamplingRulesOutput, error) { - req, out := c.GetSamplingRulesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsight +func (c *XRay) GetInsight(input *GetInsightInput) (*GetInsightOutput, error) { + req, out := c.GetInsightRequest(input) return out, req.Send() } -// GetSamplingRulesWithContext is the same as GetSamplingRules with the addition of +// GetInsightWithContext is the same as GetInsight with the addition of // the ability to pass a context and additional request options. // -// See GetSamplingRules for details on how to use this API operation. +// See GetInsight 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 *XRay) GetSamplingRulesWithContext(ctx aws.Context, input *GetSamplingRulesInput, opts ...request.Option) (*GetSamplingRulesOutput, error) { - req, out := c.GetSamplingRulesRequest(input) +func (c *XRay) GetInsightWithContext(ctx aws.Context, input *GetInsightInput, opts ...request.Option) (*GetInsightOutput, error) { + req, out := c.GetInsightRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetSamplingRulesPages iterates over the pages of a GetSamplingRules operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See GetSamplingRules 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 GetSamplingRules operation. -// pageNum := 0 -// err := client.GetSamplingRulesPages(params, -// func(page *xray.GetSamplingRulesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *XRay) GetSamplingRulesPages(input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool) error { - return c.GetSamplingRulesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetSamplingRulesPagesWithContext same as GetSamplingRulesPages 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 *XRay) GetSamplingRulesPagesWithContext(ctx aws.Context, input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetSamplingRulesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetSamplingRulesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*GetSamplingRulesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opGetSamplingStatisticSummaries = "GetSamplingStatisticSummaries" +const opGetInsightEvents = "GetInsightEvents" -// GetSamplingStatisticSummariesRequest generates a "aws/request.Request" representing the -// client's request for the GetSamplingStatisticSummaries operation. The "output" return +// GetInsightEventsRequest generates a "aws/request.Request" representing the +// client's request for the GetInsightEvents 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 GetSamplingStatisticSummaries for more information on using the GetSamplingStatisticSummaries +// See GetInsightEvents for more information on using the GetInsightEvents // 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 GetSamplingStatisticSummariesRequest method. -// req, resp := client.GetSamplingStatisticSummariesRequest(params) +// // Example sending a request using the GetInsightEventsRequest method. +// req, resp := client.GetInsightEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries -func (c *XRay) GetSamplingStatisticSummariesRequest(input *GetSamplingStatisticSummariesInput) (req *request.Request, output *GetSamplingStatisticSummariesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightEvents +func (c *XRay) GetInsightEventsRequest(input *GetInsightEventsInput) (req *request.Request, output *GetInsightEventsOutput) { op := &request.Operation{ - Name: opGetSamplingStatisticSummaries, + Name: opGetInsightEvents, HTTPMethod: "POST", - HTTPPath: "/SamplingStatisticSummaries", + HTTPPath: "/InsightEvents", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, - LimitToken: "", + LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { - input = &GetSamplingStatisticSummariesInput{} + input = &GetInsightEventsInput{} } - output = &GetSamplingStatisticSummariesOutput{} + output = &GetInsightEventsOutput{} req = c.newRequest(op, input, output) return } -// GetSamplingStatisticSummaries API operation for AWS X-Ray. +// GetInsightEvents API operation for AWS X-Ray. // -// Retrieves information about recent sampling results for all sampling rules. +// X-Ray reevaluates insights periodically until they're resolved, and records +// each intermediate state as an event. You can review an insight's events in +// the Impact Timeline on the Inspect page in the X-Ray console. // // 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 X-Ray's -// API operation GetSamplingStatisticSummaries for usage and error information. +// API operation GetInsightEvents for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1003,65 +949,65 @@ func (c *XRay) GetSamplingStatisticSummariesRequest(input *GetSamplingStatisticS // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries -func (c *XRay) GetSamplingStatisticSummaries(input *GetSamplingStatisticSummariesInput) (*GetSamplingStatisticSummariesOutput, error) { - req, out := c.GetSamplingStatisticSummariesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightEvents +func (c *XRay) GetInsightEvents(input *GetInsightEventsInput) (*GetInsightEventsOutput, error) { + req, out := c.GetInsightEventsRequest(input) return out, req.Send() } -// GetSamplingStatisticSummariesWithContext is the same as GetSamplingStatisticSummaries with the addition of +// GetInsightEventsWithContext is the same as GetInsightEvents with the addition of // the ability to pass a context and additional request options. // -// See GetSamplingStatisticSummaries for details on how to use this API operation. +// See GetInsightEvents 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 *XRay) GetSamplingStatisticSummariesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, opts ...request.Option) (*GetSamplingStatisticSummariesOutput, error) { - req, out := c.GetSamplingStatisticSummariesRequest(input) +func (c *XRay) GetInsightEventsWithContext(ctx aws.Context, input *GetInsightEventsInput, opts ...request.Option) (*GetInsightEventsOutput, error) { + req, out := c.GetInsightEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetSamplingStatisticSummariesPages iterates over the pages of a GetSamplingStatisticSummaries operation, +// GetInsightEventsPages iterates over the pages of a GetInsightEvents operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See GetSamplingStatisticSummaries method for more information on how to use this operation. +// See GetInsightEvents 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 GetSamplingStatisticSummaries operation. +// // Example iterating over at most 3 pages of a GetInsightEvents operation. // pageNum := 0 -// err := client.GetSamplingStatisticSummariesPages(params, -// func(page *xray.GetSamplingStatisticSummariesOutput, lastPage bool) bool { +// err := client.GetInsightEventsPages(params, +// func(page *xray.GetInsightEventsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *XRay) GetSamplingStatisticSummariesPages(input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool) error { - return c.GetSamplingStatisticSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *XRay) GetInsightEventsPages(input *GetInsightEventsInput, fn func(*GetInsightEventsOutput, bool) bool) error { + return c.GetInsightEventsPagesWithContext(aws.BackgroundContext(), input, fn) } -// GetSamplingStatisticSummariesPagesWithContext same as GetSamplingStatisticSummariesPages except +// GetInsightEventsPagesWithContext same as GetInsightEventsPages 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 *XRay) GetSamplingStatisticSummariesPagesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool, opts ...request.Option) error { +func (c *XRay) GetInsightEventsPagesWithContext(ctx aws.Context, input *GetInsightEventsInput, fn func(*GetInsightEventsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *GetSamplingStatisticSummariesInput + var inCpy *GetInsightEventsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.GetSamplingStatisticSummariesRequest(inCpy) + req, _ := c.GetInsightEventsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1069,7 +1015,7 @@ func (c *XRay) GetSamplingStatisticSummariesPagesWithContext(ctx aws.Context, in } for p.Next() { - if !fn(p.Page().(*GetSamplingStatisticSummariesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*GetInsightEventsOutput), !p.HasNextPage()) { break } } @@ -1077,58 +1023,60 @@ func (c *XRay) GetSamplingStatisticSummariesPagesWithContext(ctx aws.Context, in return p.Err() } -const opGetSamplingTargets = "GetSamplingTargets" +const opGetInsightImpactGraph = "GetInsightImpactGraph" -// GetSamplingTargetsRequest generates a "aws/request.Request" representing the -// client's request for the GetSamplingTargets operation. The "output" return +// GetInsightImpactGraphRequest generates a "aws/request.Request" representing the +// client's request for the GetInsightImpactGraph 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 GetSamplingTargets for more information on using the GetSamplingTargets +// See GetInsightImpactGraph for more information on using the GetInsightImpactGraph // 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 GetSamplingTargetsRequest method. -// req, resp := client.GetSamplingTargetsRequest(params) +// // Example sending a request using the GetInsightImpactGraphRequest method. +// req, resp := client.GetInsightImpactGraphRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets -func (c *XRay) GetSamplingTargetsRequest(input *GetSamplingTargetsInput) (req *request.Request, output *GetSamplingTargetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightImpactGraph +func (c *XRay) GetInsightImpactGraphRequest(input *GetInsightImpactGraphInput) (req *request.Request, output *GetInsightImpactGraphOutput) { op := &request.Operation{ - Name: opGetSamplingTargets, + Name: opGetInsightImpactGraph, HTTPMethod: "POST", - HTTPPath: "/SamplingTargets", + HTTPPath: "/InsightImpactGraph", } if input == nil { - input = &GetSamplingTargetsInput{} + input = &GetInsightImpactGraphInput{} } - output = &GetSamplingTargetsOutput{} + output = &GetInsightImpactGraphOutput{} req = c.newRequest(op, input, output) return } -// GetSamplingTargets API operation for AWS X-Ray. +// GetInsightImpactGraph API operation for AWS X-Ray. // -// Requests a sampling quota for rules that the service is using to sample requests. +// Retrieves a service graph structure filtered by the specified insight. The +// service graph is limited to only structural information. For a complete service +// graph, use this API with the GetServiceGraph API. // // 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 X-Ray's -// API operation GetSamplingTargets for usage and error information. +// API operation GetInsightImpactGraph for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1137,91 +1085,87 @@ func (c *XRay) GetSamplingTargetsRequest(input *GetSamplingTargetsInput) (req *r // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets -func (c *XRay) GetSamplingTargets(input *GetSamplingTargetsInput) (*GetSamplingTargetsOutput, error) { - req, out := c.GetSamplingTargetsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightImpactGraph +func (c *XRay) GetInsightImpactGraph(input *GetInsightImpactGraphInput) (*GetInsightImpactGraphOutput, error) { + req, out := c.GetInsightImpactGraphRequest(input) return out, req.Send() } -// GetSamplingTargetsWithContext is the same as GetSamplingTargets with the addition of +// GetInsightImpactGraphWithContext is the same as GetInsightImpactGraph with the addition of // the ability to pass a context and additional request options. // -// See GetSamplingTargets for details on how to use this API operation. +// See GetInsightImpactGraph 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 *XRay) GetSamplingTargetsWithContext(ctx aws.Context, input *GetSamplingTargetsInput, opts ...request.Option) (*GetSamplingTargetsOutput, error) { - req, out := c.GetSamplingTargetsRequest(input) +func (c *XRay) GetInsightImpactGraphWithContext(ctx aws.Context, input *GetInsightImpactGraphInput, opts ...request.Option) (*GetInsightImpactGraphOutput, error) { + req, out := c.GetInsightImpactGraphRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetServiceGraph = "GetServiceGraph" +const opGetInsightSummaries = "GetInsightSummaries" -// GetServiceGraphRequest generates a "aws/request.Request" representing the -// client's request for the GetServiceGraph operation. The "output" return +// GetInsightSummariesRequest generates a "aws/request.Request" representing the +// client's request for the GetInsightSummaries 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 GetServiceGraph for more information on using the GetServiceGraph +// See GetInsightSummaries for more information on using the GetInsightSummaries // 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 GetServiceGraphRequest method. -// req, resp := client.GetServiceGraphRequest(params) +// // Example sending a request using the GetInsightSummariesRequest method. +// req, resp := client.GetInsightSummariesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph -func (c *XRay) GetServiceGraphRequest(input *GetServiceGraphInput) (req *request.Request, output *GetServiceGraphOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightSummaries +func (c *XRay) GetInsightSummariesRequest(input *GetInsightSummariesInput) (req *request.Request, output *GetInsightSummariesOutput) { op := &request.Operation{ - Name: opGetServiceGraph, + Name: opGetInsightSummaries, HTTPMethod: "POST", - HTTPPath: "/ServiceGraph", + HTTPPath: "/InsightSummaries", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, - LimitToken: "", + LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { - input = &GetServiceGraphInput{} + input = &GetInsightSummariesInput{} } - output = &GetServiceGraphOutput{} + output = &GetInsightSummariesOutput{} req = c.newRequest(op, input, output) return } -// GetServiceGraph API operation for AWS X-Ray. +// GetInsightSummaries API operation for AWS X-Ray. // -// Retrieves a document that describes services that process incoming requests, -// and downstream services that they call as a result. Root services process -// incoming requests and make calls to downstream services. Root services are -// applications that use the AWS X-Ray SDK (https://docs.aws.amazon.com/xray/index.html). -// Downstream services can be other applications, AWS resources, HTTP web APIs, -// or SQL databases. +// Retrieves the summaries of all insights in the specified group matching the +// provided filter values. // // 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 X-Ray's -// API operation GetServiceGraph for usage and error information. +// API operation GetInsightSummaries for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1230,65 +1174,65 @@ func (c *XRay) GetServiceGraphRequest(input *GetServiceGraphInput) (req *request // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph -func (c *XRay) GetServiceGraph(input *GetServiceGraphInput) (*GetServiceGraphOutput, error) { - req, out := c.GetServiceGraphRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightSummaries +func (c *XRay) GetInsightSummaries(input *GetInsightSummariesInput) (*GetInsightSummariesOutput, error) { + req, out := c.GetInsightSummariesRequest(input) return out, req.Send() } -// GetServiceGraphWithContext is the same as GetServiceGraph with the addition of +// GetInsightSummariesWithContext is the same as GetInsightSummaries with the addition of // the ability to pass a context and additional request options. // -// See GetServiceGraph for details on how to use this API operation. +// See GetInsightSummaries 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 *XRay) GetServiceGraphWithContext(ctx aws.Context, input *GetServiceGraphInput, opts ...request.Option) (*GetServiceGraphOutput, error) { - req, out := c.GetServiceGraphRequest(input) +func (c *XRay) GetInsightSummariesWithContext(ctx aws.Context, input *GetInsightSummariesInput, opts ...request.Option) (*GetInsightSummariesOutput, error) { + req, out := c.GetInsightSummariesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetServiceGraphPages iterates over the pages of a GetServiceGraph operation, +// GetInsightSummariesPages iterates over the pages of a GetInsightSummaries operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See GetServiceGraph method for more information on how to use this operation. +// See GetInsightSummaries 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 GetServiceGraph operation. +// // Example iterating over at most 3 pages of a GetInsightSummaries operation. // pageNum := 0 -// err := client.GetServiceGraphPages(params, -// func(page *xray.GetServiceGraphOutput, lastPage bool) bool { +// err := client.GetInsightSummariesPages(params, +// func(page *xray.GetInsightSummariesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *XRay) GetServiceGraphPages(input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool) error { - return c.GetServiceGraphPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *XRay) GetInsightSummariesPages(input *GetInsightSummariesInput, fn func(*GetInsightSummariesOutput, bool) bool) error { + return c.GetInsightSummariesPagesWithContext(aws.BackgroundContext(), input, fn) } -// GetServiceGraphPagesWithContext same as GetServiceGraphPages except +// GetInsightSummariesPagesWithContext same as GetInsightSummariesPages 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 *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool, opts ...request.Option) error { +func (c *XRay) GetInsightSummariesPagesWithContext(ctx aws.Context, input *GetInsightSummariesInput, fn func(*GetInsightSummariesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *GetServiceGraphInput + var inCpy *GetInsightSummariesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.GetServiceGraphRequest(inCpy) + req, _ := c.GetInsightSummariesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1296,7 +1240,7 @@ func (c *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServic } for p.Next() { - if !fn(p.Page().(*GetServiceGraphOutput), !p.HasNextPage()) { + if !fn(p.Page().(*GetInsightSummariesOutput), !p.HasNextPage()) { break } } @@ -1304,37 +1248,37 @@ func (c *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServic return p.Err() } -const opGetTimeSeriesServiceStatistics = "GetTimeSeriesServiceStatistics" +const opGetSamplingRules = "GetSamplingRules" -// GetTimeSeriesServiceStatisticsRequest generates a "aws/request.Request" representing the -// client's request for the GetTimeSeriesServiceStatistics operation. The "output" return +// GetSamplingRulesRequest generates a "aws/request.Request" representing the +// client's request for the GetSamplingRules 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 GetTimeSeriesServiceStatistics for more information on using the GetTimeSeriesServiceStatistics +// See GetSamplingRules for more information on using the GetSamplingRules // 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 GetTimeSeriesServiceStatisticsRequest method. -// req, resp := client.GetTimeSeriesServiceStatisticsRequest(params) +// // Example sending a request using the GetSamplingRulesRequest method. +// req, resp := client.GetSamplingRulesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics -func (c *XRay) GetTimeSeriesServiceStatisticsRequest(input *GetTimeSeriesServiceStatisticsInput) (req *request.Request, output *GetTimeSeriesServiceStatisticsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules +func (c *XRay) GetSamplingRulesRequest(input *GetSamplingRulesInput) (req *request.Request, output *GetSamplingRulesOutput) { op := &request.Operation{ - Name: opGetTimeSeriesServiceStatistics, + Name: opGetSamplingRules, HTTPMethod: "POST", - HTTPPath: "/TimeSeriesServiceStatistics", + HTTPPath: "/GetSamplingRules", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1344,24 +1288,24 @@ func (c *XRay) GetTimeSeriesServiceStatisticsRequest(input *GetTimeSeriesService } if input == nil { - input = &GetTimeSeriesServiceStatisticsInput{} + input = &GetSamplingRulesInput{} } - output = &GetTimeSeriesServiceStatisticsOutput{} + output = &GetSamplingRulesOutput{} req = c.newRequest(op, input, output) return } -// GetTimeSeriesServiceStatistics API operation for AWS X-Ray. +// GetSamplingRules API operation for AWS X-Ray. // -// Get an aggregation of service statistics defined by a specific time range. +// Retrieves all sampling rules. // // 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 X-Ray's -// API operation GetTimeSeriesServiceStatistics for usage and error information. +// API operation GetSamplingRules for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1370,65 +1314,65 @@ func (c *XRay) GetTimeSeriesServiceStatisticsRequest(input *GetTimeSeriesService // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics -func (c *XRay) GetTimeSeriesServiceStatistics(input *GetTimeSeriesServiceStatisticsInput) (*GetTimeSeriesServiceStatisticsOutput, error) { - req, out := c.GetTimeSeriesServiceStatisticsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules +func (c *XRay) GetSamplingRules(input *GetSamplingRulesInput) (*GetSamplingRulesOutput, error) { + req, out := c.GetSamplingRulesRequest(input) return out, req.Send() } -// GetTimeSeriesServiceStatisticsWithContext is the same as GetTimeSeriesServiceStatistics with the addition of +// GetSamplingRulesWithContext is the same as GetSamplingRules with the addition of // the ability to pass a context and additional request options. // -// See GetTimeSeriesServiceStatistics for details on how to use this API operation. +// See GetSamplingRules 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 *XRay) GetTimeSeriesServiceStatisticsWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, opts ...request.Option) (*GetTimeSeriesServiceStatisticsOutput, error) { - req, out := c.GetTimeSeriesServiceStatisticsRequest(input) +func (c *XRay) GetSamplingRulesWithContext(ctx aws.Context, input *GetSamplingRulesInput, opts ...request.Option) (*GetSamplingRulesOutput, error) { + req, out := c.GetSamplingRulesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetTimeSeriesServiceStatisticsPages iterates over the pages of a GetTimeSeriesServiceStatistics operation, +// GetSamplingRulesPages iterates over the pages of a GetSamplingRules operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See GetTimeSeriesServiceStatistics method for more information on how to use this operation. +// See GetSamplingRules 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 GetTimeSeriesServiceStatistics operation. +// // Example iterating over at most 3 pages of a GetSamplingRules operation. // pageNum := 0 -// err := client.GetTimeSeriesServiceStatisticsPages(params, -// func(page *xray.GetTimeSeriesServiceStatisticsOutput, lastPage bool) bool { +// err := client.GetSamplingRulesPages(params, +// func(page *xray.GetSamplingRulesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *XRay) GetTimeSeriesServiceStatisticsPages(input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool) error { - return c.GetTimeSeriesServiceStatisticsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *XRay) GetSamplingRulesPages(input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool) error { + return c.GetSamplingRulesPagesWithContext(aws.BackgroundContext(), input, fn) } -// GetTimeSeriesServiceStatisticsPagesWithContext same as GetTimeSeriesServiceStatisticsPages except +// GetSamplingRulesPagesWithContext same as GetSamplingRulesPages 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 *XRay) GetTimeSeriesServiceStatisticsPagesWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool, opts ...request.Option) error { +func (c *XRay) GetSamplingRulesPagesWithContext(ctx aws.Context, input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *GetTimeSeriesServiceStatisticsInput + var inCpy *GetSamplingRulesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.GetTimeSeriesServiceStatisticsRequest(inCpy) + req, _ := c.GetSamplingRulesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1436,7 +1380,7 @@ func (c *XRay) GetTimeSeriesServiceStatisticsPagesWithContext(ctx aws.Context, i } for p.Next() { - if !fn(p.Page().(*GetTimeSeriesServiceStatisticsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*GetSamplingRulesOutput), !p.HasNextPage()) { break } } @@ -1444,37 +1388,37 @@ func (c *XRay) GetTimeSeriesServiceStatisticsPagesWithContext(ctx aws.Context, i return p.Err() } -const opGetTraceGraph = "GetTraceGraph" +const opGetSamplingStatisticSummaries = "GetSamplingStatisticSummaries" -// GetTraceGraphRequest generates a "aws/request.Request" representing the -// client's request for the GetTraceGraph operation. The "output" return +// GetSamplingStatisticSummariesRequest generates a "aws/request.Request" representing the +// client's request for the GetSamplingStatisticSummaries 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 GetTraceGraph for more information on using the GetTraceGraph +// See GetSamplingStatisticSummaries for more information on using the GetSamplingStatisticSummaries // 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 GetTraceGraphRequest method. -// req, resp := client.GetTraceGraphRequest(params) -// +// // Example sending a request using the GetSamplingStatisticSummariesRequest method. +// req, resp := client.GetSamplingStatisticSummariesRequest(params) +// // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph -func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Request, output *GetTraceGraphOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries +func (c *XRay) GetSamplingStatisticSummariesRequest(input *GetSamplingStatisticSummariesInput) (req *request.Request, output *GetSamplingStatisticSummariesOutput) { op := &request.Operation{ - Name: opGetTraceGraph, + Name: opGetSamplingStatisticSummaries, HTTPMethod: "POST", - HTTPPath: "/TraceGraph", + HTTPPath: "/SamplingStatisticSummaries", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1484,24 +1428,24 @@ func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Req } if input == nil { - input = &GetTraceGraphInput{} + input = &GetSamplingStatisticSummariesInput{} } - output = &GetTraceGraphOutput{} + output = &GetSamplingStatisticSummariesOutput{} req = c.newRequest(op, input, output) return } -// GetTraceGraph API operation for AWS X-Ray. +// GetSamplingStatisticSummaries API operation for AWS X-Ray. // -// Retrieves a service graph for one or more specific trace IDs. +// Retrieves information about recent sampling results for all sampling rules. // // 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 X-Ray's -// API operation GetTraceGraph for usage and error information. +// API operation GetSamplingStatisticSummaries for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1510,65 +1454,65 @@ func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Req // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph -func (c *XRay) GetTraceGraph(input *GetTraceGraphInput) (*GetTraceGraphOutput, error) { - req, out := c.GetTraceGraphRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries +func (c *XRay) GetSamplingStatisticSummaries(input *GetSamplingStatisticSummariesInput) (*GetSamplingStatisticSummariesOutput, error) { + req, out := c.GetSamplingStatisticSummariesRequest(input) return out, req.Send() } -// GetTraceGraphWithContext is the same as GetTraceGraph with the addition of +// GetSamplingStatisticSummariesWithContext is the same as GetSamplingStatisticSummaries with the addition of // the ability to pass a context and additional request options. // -// See GetTraceGraph for details on how to use this API operation. +// See GetSamplingStatisticSummaries 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 *XRay) GetTraceGraphWithContext(ctx aws.Context, input *GetTraceGraphInput, opts ...request.Option) (*GetTraceGraphOutput, error) { - req, out := c.GetTraceGraphRequest(input) +func (c *XRay) GetSamplingStatisticSummariesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, opts ...request.Option) (*GetSamplingStatisticSummariesOutput, error) { + req, out := c.GetSamplingStatisticSummariesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetTraceGraphPages iterates over the pages of a GetTraceGraph operation, +// GetSamplingStatisticSummariesPages iterates over the pages of a GetSamplingStatisticSummaries operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See GetTraceGraph method for more information on how to use this operation. +// See GetSamplingStatisticSummaries 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 GetTraceGraph operation. +// // Example iterating over at most 3 pages of a GetSamplingStatisticSummaries operation. // pageNum := 0 -// err := client.GetTraceGraphPages(params, -// func(page *xray.GetTraceGraphOutput, lastPage bool) bool { +// err := client.GetSamplingStatisticSummariesPages(params, +// func(page *xray.GetSamplingStatisticSummariesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *XRay) GetTraceGraphPages(input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool) error { - return c.GetTraceGraphPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *XRay) GetSamplingStatisticSummariesPages(input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool) error { + return c.GetSamplingStatisticSummariesPagesWithContext(aws.BackgroundContext(), input, fn) } -// GetTraceGraphPagesWithContext same as GetTraceGraphPages except +// GetSamplingStatisticSummariesPagesWithContext same as GetSamplingStatisticSummariesPages 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 *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool, opts ...request.Option) error { +func (c *XRay) GetSamplingStatisticSummariesPagesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *GetTraceGraphInput + var inCpy *GetSamplingStatisticSummariesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.GetTraceGraphRequest(inCpy) + req, _ := c.GetSamplingStatisticSummariesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1576,7 +1520,7 @@ func (c *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGra } for p.Next() { - if !fn(p.Page().(*GetTraceGraphOutput), !p.HasNextPage()) { + if !fn(p.Page().(*GetSamplingStatisticSummariesOutput), !p.HasNextPage()) { break } } @@ -1584,37 +1528,119 @@ func (c *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGra return p.Err() } -const opGetTraceSummaries = "GetTraceSummaries" +const opGetSamplingTargets = "GetSamplingTargets" -// GetTraceSummariesRequest generates a "aws/request.Request" representing the -// client's request for the GetTraceSummaries operation. The "output" return +// GetSamplingTargetsRequest generates a "aws/request.Request" representing the +// client's request for the GetSamplingTargets 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 GetTraceSummaries for more information on using the GetTraceSummaries +// See GetSamplingTargets for more information on using the GetSamplingTargets // 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 GetTraceSummariesRequest method. -// req, resp := client.GetTraceSummariesRequest(params) +// // Example sending a request using the GetSamplingTargetsRequest method. +// req, resp := client.GetSamplingTargetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries -func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *request.Request, output *GetTraceSummariesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets +func (c *XRay) GetSamplingTargetsRequest(input *GetSamplingTargetsInput) (req *request.Request, output *GetSamplingTargetsOutput) { op := &request.Operation{ - Name: opGetTraceSummaries, + Name: opGetSamplingTargets, HTTPMethod: "POST", - HTTPPath: "/TraceSummaries", + HTTPPath: "/SamplingTargets", + } + + if input == nil { + input = &GetSamplingTargetsInput{} + } + + output = &GetSamplingTargetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSamplingTargets API operation for AWS X-Ray. +// +// Requests a sampling quota for rules that the service is using to sample requests. +// +// 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 X-Ray's +// API operation GetSamplingTargets for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is missing required parameters or has invalid parameters. +// +// * ThrottledException +// The request exceeds the maximum number of requests per second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets +func (c *XRay) GetSamplingTargets(input *GetSamplingTargetsInput) (*GetSamplingTargetsOutput, error) { + req, out := c.GetSamplingTargetsRequest(input) + return out, req.Send() +} + +// GetSamplingTargetsWithContext is the same as GetSamplingTargets with the addition of +// the ability to pass a context and additional request options. +// +// See GetSamplingTargets 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 *XRay) GetSamplingTargetsWithContext(ctx aws.Context, input *GetSamplingTargetsInput, opts ...request.Option) (*GetSamplingTargetsOutput, error) { + req, out := c.GetSamplingTargetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetServiceGraph = "GetServiceGraph" + +// GetServiceGraphRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceGraph 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 GetServiceGraph for more information on using the GetServiceGraph +// 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 GetServiceGraphRequest method. +// req, resp := client.GetServiceGraphRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph +func (c *XRay) GetServiceGraphRequest(input *GetServiceGraphInput) (req *request.Request, output *GetServiceGraphOutput) { + op := &request.Operation{ + Name: opGetServiceGraph, + HTTPMethod: "POST", + HTTPPath: "/ServiceGraph", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1624,40 +1650,29 @@ func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *req } if input == nil { - input = &GetTraceSummariesInput{} + input = &GetServiceGraphInput{} } - output = &GetTraceSummariesOutput{} + output = &GetServiceGraphOutput{} req = c.newRequest(op, input, output) return } -// GetTraceSummaries API operation for AWS X-Ray. -// -// Retrieves IDs and annotations for traces available for a specified time frame -// using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces. -// -// A filter expression can target traced requests that hit specific service -// nodes or edges, have errors, or come from a known user. For example, the -// following filter expression targets traces that pass through api.example.com: -// -// service("api.example.com") -// -// This filter expression finds traces that have an annotation named account -// with the value 12345: -// -// annotation.account = "12345" +// GetServiceGraph API operation for AWS X-Ray. // -// For a full list of indexed fields and keywords that you can use in filter -// expressions, see Using Filter Expressions (https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html) -// in the AWS X-Ray Developer Guide. +// Retrieves a document that describes services that process incoming requests, +// and downstream services that they call as a result. Root services process +// incoming requests and make calls to downstream services. Root services are +// applications that use the AWS X-Ray SDK (https://docs.aws.amazon.com/xray/index.html). +// Downstream services can be other applications, AWS resources, HTTP web APIs, +// or SQL databases. // // 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 X-Ray's -// API operation GetTraceSummaries for usage and error information. +// API operation GetServiceGraph for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1666,65 +1681,65 @@ func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *req // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries -func (c *XRay) GetTraceSummaries(input *GetTraceSummariesInput) (*GetTraceSummariesOutput, error) { - req, out := c.GetTraceSummariesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph +func (c *XRay) GetServiceGraph(input *GetServiceGraphInput) (*GetServiceGraphOutput, error) { + req, out := c.GetServiceGraphRequest(input) return out, req.Send() } -// GetTraceSummariesWithContext is the same as GetTraceSummaries with the addition of +// GetServiceGraphWithContext is the same as GetServiceGraph with the addition of // the ability to pass a context and additional request options. // -// See GetTraceSummaries for details on how to use this API operation. +// See GetServiceGraph 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 *XRay) GetTraceSummariesWithContext(ctx aws.Context, input *GetTraceSummariesInput, opts ...request.Option) (*GetTraceSummariesOutput, error) { - req, out := c.GetTraceSummariesRequest(input) +func (c *XRay) GetServiceGraphWithContext(ctx aws.Context, input *GetServiceGraphInput, opts ...request.Option) (*GetServiceGraphOutput, error) { + req, out := c.GetServiceGraphRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetTraceSummariesPages iterates over the pages of a GetTraceSummaries operation, +// GetServiceGraphPages iterates over the pages of a GetServiceGraph operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See GetTraceSummaries method for more information on how to use this operation. +// See GetServiceGraph 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 GetTraceSummaries operation. +// // Example iterating over at most 3 pages of a GetServiceGraph operation. // pageNum := 0 -// err := client.GetTraceSummariesPages(params, -// func(page *xray.GetTraceSummariesOutput, lastPage bool) bool { +// err := client.GetServiceGraphPages(params, +// func(page *xray.GetServiceGraphOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *XRay) GetTraceSummariesPages(input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool) error { - return c.GetTraceSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *XRay) GetServiceGraphPages(input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool) error { + return c.GetServiceGraphPagesWithContext(aws.BackgroundContext(), input, fn) } -// GetTraceSummariesPagesWithContext same as GetTraceSummariesPages except +// GetServiceGraphPagesWithContext same as GetServiceGraphPages 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 *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool, opts ...request.Option) error { +func (c *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *GetTraceSummariesInput + var inCpy *GetServiceGraphInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.GetTraceSummariesRequest(inCpy) + req, _ := c.GetServiceGraphRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1732,7 +1747,7 @@ func (c *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTrac } for p.Next() { - if !fn(p.Page().(*GetTraceSummariesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*GetServiceGraphOutput), !p.HasNextPage()) { break } } @@ -1740,59 +1755,64 @@ func (c *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTrac return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opGetTimeSeriesServiceStatistics = "GetTimeSeriesServiceStatistics" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// GetTimeSeriesServiceStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetTimeSeriesServiceStatistics operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See GetTimeSeriesServiceStatistics for more information on using the GetTimeSeriesServiceStatistics // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the GetTimeSeriesServiceStatisticsRequest method. +// req, resp := client.GetTimeSeriesServiceStatisticsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource -func (c *XRay) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics +func (c *XRay) GetTimeSeriesServiceStatisticsRequest(input *GetTimeSeriesServiceStatisticsInput) (req *request.Request, output *GetTimeSeriesServiceStatisticsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opGetTimeSeriesServiceStatistics, HTTPMethod: "POST", - HTTPPath: "/ListTagsForResource", + HTTPPath: "/TimeSeriesServiceStatistics", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &GetTimeSeriesServiceStatisticsInput{} } - output = &ListTagsForResourceOutput{} + output = &GetTimeSeriesServiceStatisticsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS X-Ray. +// GetTimeSeriesServiceStatistics API operation for AWS X-Ray. // -// Returns a list of tags that are applied to the specified AWS X-Ray group -// or sampling rule. +// Get an aggregation of service statistics defined by a specific time range. // // 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 X-Ray's -// API operation ListTagsForResource for usage and error information. +// API operation GetTimeSeriesServiceStatistics for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1801,84 +1821,138 @@ func (c *XRay) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req // * ThrottledException // The request exceeds the maximum number of requests per second. // -// * ResourceNotFoundException -// The resource was not found. Verify that the name or Amazon Resource Name -// (ARN) of the resource is correct. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource -func (c *XRay) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics +func (c *XRay) GetTimeSeriesServiceStatistics(input *GetTimeSeriesServiceStatisticsInput) (*GetTimeSeriesServiceStatisticsOutput, error) { + req, out := c.GetTimeSeriesServiceStatisticsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// GetTimeSeriesServiceStatisticsWithContext is the same as GetTimeSeriesServiceStatistics with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See GetTimeSeriesServiceStatistics 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 *XRay) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *XRay) GetTimeSeriesServiceStatisticsWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, opts ...request.Option) (*GetTimeSeriesServiceStatisticsOutput, error) { + req, out := c.GetTimeSeriesServiceStatisticsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutEncryptionConfig = "PutEncryptionConfig" +// GetTimeSeriesServiceStatisticsPages iterates over the pages of a GetTimeSeriesServiceStatistics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTimeSeriesServiceStatistics 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 GetTimeSeriesServiceStatistics operation. +// pageNum := 0 +// err := client.GetTimeSeriesServiceStatisticsPages(params, +// func(page *xray.GetTimeSeriesServiceStatisticsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *XRay) GetTimeSeriesServiceStatisticsPages(input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool) error { + return c.GetTimeSeriesServiceStatisticsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PutEncryptionConfigRequest generates a "aws/request.Request" representing the -// client's request for the PutEncryptionConfig operation. The "output" return +// GetTimeSeriesServiceStatisticsPagesWithContext same as GetTimeSeriesServiceStatisticsPages 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 *XRay) GetTimeSeriesServiceStatisticsPagesWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTimeSeriesServiceStatisticsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTimeSeriesServiceStatisticsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetTimeSeriesServiceStatisticsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetTraceGraph = "GetTraceGraph" + +// GetTraceGraphRequest generates a "aws/request.Request" representing the +// client's request for the GetTraceGraph 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 PutEncryptionConfig for more information on using the PutEncryptionConfig +// See GetTraceGraph for more information on using the GetTraceGraph // 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 PutEncryptionConfigRequest method. -// req, resp := client.PutEncryptionConfigRequest(params) +// // Example sending a request using the GetTraceGraphRequest method. +// req, resp := client.GetTraceGraphRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig -func (c *XRay) PutEncryptionConfigRequest(input *PutEncryptionConfigInput) (req *request.Request, output *PutEncryptionConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph +func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Request, output *GetTraceGraphOutput) { op := &request.Operation{ - Name: opPutEncryptionConfig, + Name: opGetTraceGraph, HTTPMethod: "POST", - HTTPPath: "/PutEncryptionConfig", + HTTPPath: "/TraceGraph", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &PutEncryptionConfigInput{} + input = &GetTraceGraphInput{} } - output = &PutEncryptionConfigOutput{} + output = &GetTraceGraphOutput{} req = c.newRequest(op, input, output) return } -// PutEncryptionConfig API operation for AWS X-Ray. +// GetTraceGraph API operation for AWS X-Ray. // -// Updates the encryption configuration for X-Ray data. +// Retrieves a service graph for one or more specific trace 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 // the error. // // See the AWS API reference guide for AWS X-Ray's -// API operation PutEncryptionConfig for usage and error information. +// API operation GetTraceGraph for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1887,81 +1961,154 @@ func (c *XRay) PutEncryptionConfigRequest(input *PutEncryptionConfigInput) (req // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig -func (c *XRay) PutEncryptionConfig(input *PutEncryptionConfigInput) (*PutEncryptionConfigOutput, error) { - req, out := c.PutEncryptionConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph +func (c *XRay) GetTraceGraph(input *GetTraceGraphInput) (*GetTraceGraphOutput, error) { + req, out := c.GetTraceGraphRequest(input) return out, req.Send() } -// PutEncryptionConfigWithContext is the same as PutEncryptionConfig with the addition of +// GetTraceGraphWithContext is the same as GetTraceGraph with the addition of // the ability to pass a context and additional request options. // -// See PutEncryptionConfig for details on how to use this API operation. +// See GetTraceGraph 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 *XRay) PutEncryptionConfigWithContext(ctx aws.Context, input *PutEncryptionConfigInput, opts ...request.Option) (*PutEncryptionConfigOutput, error) { - req, out := c.PutEncryptionConfigRequest(input) +func (c *XRay) GetTraceGraphWithContext(ctx aws.Context, input *GetTraceGraphInput, opts ...request.Option) (*GetTraceGraphOutput, error) { + req, out := c.GetTraceGraphRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutTelemetryRecords = "PutTelemetryRecords" +// GetTraceGraphPages iterates over the pages of a GetTraceGraph operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTraceGraph 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 GetTraceGraph operation. +// pageNum := 0 +// err := client.GetTraceGraphPages(params, +// func(page *xray.GetTraceGraphOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *XRay) GetTraceGraphPages(input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool) error { + return c.GetTraceGraphPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PutTelemetryRecordsRequest generates a "aws/request.Request" representing the -// client's request for the PutTelemetryRecords operation. The "output" return +// GetTraceGraphPagesWithContext same as GetTraceGraphPages 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 *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTraceGraphInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTraceGraphRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetTraceGraphOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetTraceSummaries = "GetTraceSummaries" + +// GetTraceSummariesRequest generates a "aws/request.Request" representing the +// client's request for the GetTraceSummaries 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 PutTelemetryRecords for more information on using the PutTelemetryRecords +// See GetTraceSummaries for more information on using the GetTraceSummaries // 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 PutTelemetryRecordsRequest method. -// req, resp := client.PutTelemetryRecordsRequest(params) +// // Example sending a request using the GetTraceSummariesRequest method. +// req, resp := client.GetTraceSummariesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords -func (c *XRay) PutTelemetryRecordsRequest(input *PutTelemetryRecordsInput) (req *request.Request, output *PutTelemetryRecordsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries +func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *request.Request, output *GetTraceSummariesOutput) { op := &request.Operation{ - Name: opPutTelemetryRecords, + Name: opGetTraceSummaries, HTTPMethod: "POST", - HTTPPath: "/TelemetryRecords", + HTTPPath: "/TraceSummaries", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &PutTelemetryRecordsInput{} + input = &GetTraceSummariesInput{} } - output = &PutTelemetryRecordsOutput{} + output = &GetTraceSummariesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutTelemetryRecords API operation for AWS X-Ray. +// GetTraceSummaries API operation for AWS X-Ray. // -// Used by the AWS X-Ray daemon to upload telemetry. +// Retrieves IDs and annotations for traces available for a specified time frame +// using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces. +// +// A filter expression can target traced requests that hit specific service +// nodes or edges, have errors, or come from a known user. For example, the +// following filter expression targets traces that pass through api.example.com: +// +// service("api.example.com") +// +// This filter expression finds traces that have an annotation named account +// with the value 12345: +// +// annotation.account = "12345" +// +// For a full list of indexed fields and keywords that you can use in filter +// expressions, see Using Filter Expressions (https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html) +// in the AWS X-Ray Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS X-Ray's -// API operation PutTelemetryRecords for usage and error information. +// API operation GetTraceSummaries for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1970,124 +2117,133 @@ func (c *XRay) PutTelemetryRecordsRequest(input *PutTelemetryRecordsInput) (req // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords -func (c *XRay) PutTelemetryRecords(input *PutTelemetryRecordsInput) (*PutTelemetryRecordsOutput, error) { - req, out := c.PutTelemetryRecordsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries +func (c *XRay) GetTraceSummaries(input *GetTraceSummariesInput) (*GetTraceSummariesOutput, error) { + req, out := c.GetTraceSummariesRequest(input) return out, req.Send() } -// PutTelemetryRecordsWithContext is the same as PutTelemetryRecords with the addition of +// GetTraceSummariesWithContext is the same as GetTraceSummaries with the addition of // the ability to pass a context and additional request options. // -// See PutTelemetryRecords for details on how to use this API operation. +// See GetTraceSummaries 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 *XRay) PutTelemetryRecordsWithContext(ctx aws.Context, input *PutTelemetryRecordsInput, opts ...request.Option) (*PutTelemetryRecordsOutput, error) { - req, out := c.PutTelemetryRecordsRequest(input) +func (c *XRay) GetTraceSummariesWithContext(ctx aws.Context, input *GetTraceSummariesInput, opts ...request.Option) (*GetTraceSummariesOutput, error) { + req, out := c.GetTraceSummariesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutTraceSegments = "PutTraceSegments" - -// PutTraceSegmentsRequest generates a "aws/request.Request" representing the -// client's request for the PutTraceSegments operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// GetTraceSummariesPages iterates over the pages of a GetTraceSummaries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTraceSummaries 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 GetTraceSummaries operation. +// pageNum := 0 +// err := client.GetTraceSummariesPages(params, +// func(page *xray.GetTraceSummariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *XRay) GetTraceSummariesPages(input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool) error { + return c.GetTraceSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetTraceSummariesPagesWithContext same as GetTraceSummariesPages 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 *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTraceSummariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTraceSummariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetTraceSummariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutTraceSegments for more information on using the PutTraceSegments +// See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PutTraceSegmentsRequest method. -// req, resp := client.PutTraceSegmentsRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments -func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *request.Request, output *PutTraceSegmentsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource +func (c *XRay) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opPutTraceSegments, + Name: opListTagsForResource, HTTPMethod: "POST", - HTTPPath: "/TraceSegments", + HTTPPath: "/ListTagsForResource", } if input == nil { - input = &PutTraceSegmentsInput{} + input = &ListTagsForResourceInput{} } - output = &PutTraceSegmentsOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// PutTraceSegments API operation for AWS X-Ray. -// -// Uploads segment documents to AWS X-Ray. The X-Ray SDK (https://docs.aws.amazon.com/xray/index.html) -// generates segment documents and sends them to the X-Ray daemon, which uploads -// them in batches. A segment document can be a completed segment, an in-progress -// segment, or an array of subsegments. -// -// Segments must include the following fields. For the full segment document -// schema, see AWS X-Ray Segment Documents (https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html) -// in the AWS X-Ray Developer Guide. -// -// Required segment document fields -// -// * name - The name of the service that handled the request. -// -// * id - A 64-bit identifier for the segment, unique among segments in the -// same trace, in 16 hexadecimal digits. -// -// * trace_id - A unique identifier that connects all segments and subsegments -// originating from a single client request. -// -// * start_time - Time the segment or subsegment was created, in floating -// point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 -// or 1.480615200010E9. -// -// * end_time - Time the segment or subsegment was closed. For example, 1480615200.090 -// or 1.480615200090E9. Specify either an end_time or in_progress. -// -// * in_progress - Set to true instead of specifying an end_time to record -// that a segment has been started, but is not complete. Send an in-progress -// segment when your application receives a request that will take a long -// time to serve, to trace that the request was received. When the response -// is sent, send the complete segment to overwrite the in-progress segment. -// -// A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. -// This includes: -// -// Trace ID Format -// -// * The version number, for instance, 1. -// -// * The time of the original request, in Unix epoch time, in 8 hexadecimal -// digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 -// seconds, or 58406520 in hexadecimal. +// ListTagsForResource API operation for AWS X-Ray. // -// * A 96-bit identifier for the trace, globally unique, in 24 hexadecimal -// digits. +// Returns a list of tags that are applied to the specified AWS X-Ray group +// or sampling rule. // // 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 X-Ray's -// API operation PutTraceSegments for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -2096,81 +2252,84 @@ func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *reque // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments -func (c *XRay) PutTraceSegments(input *PutTraceSegmentsInput) (*PutTraceSegmentsOutput, error) { - req, out := c.PutTraceSegmentsRequest(input) +// * ResourceNotFoundException +// The resource was not found. Verify that the name or Amazon Resource Name +// (ARN) of the resource is correct. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource +func (c *XRay) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// PutTraceSegmentsWithContext is the same as PutTraceSegments with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See PutTraceSegments for details on how to use this API operation. +// See ListTagsForResource 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 *XRay) PutTraceSegmentsWithContext(ctx aws.Context, input *PutTraceSegmentsInput, opts ...request.Option) (*PutTraceSegmentsOutput, error) { - req, out := c.PutTraceSegmentsRequest(input) +func (c *XRay) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opPutEncryptionConfig = "PutEncryptionConfig" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// PutEncryptionConfigRequest generates a "aws/request.Request" representing the +// client's request for the PutEncryptionConfig 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 TagResource for more information on using the TagResource +// See PutEncryptionConfig for more information on using the PutEncryptionConfig // 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 TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the PutEncryptionConfigRequest method. +// req, resp := client.PutEncryptionConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource -func (c *XRay) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig +func (c *XRay) PutEncryptionConfigRequest(input *PutEncryptionConfigInput) (req *request.Request, output *PutEncryptionConfigOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opPutEncryptionConfig, HTTPMethod: "POST", - HTTPPath: "/TagResource", + HTTPPath: "/PutEncryptionConfig", } if input == nil { - input = &TagResourceInput{} + input = &PutEncryptionConfigInput{} } - output = &TagResourceOutput{} + output = &PutEncryptionConfigOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS X-Ray. +// PutEncryptionConfig API operation for AWS X-Ray. // -// Applies tags to an existing AWS X-Ray group or sampling rule. +// Updates the encryption configuration for X-Ray data. // // 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 X-Ray's -// API operation TagResource for usage and error information. +// API operation PutEncryptionConfig for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -2179,89 +2338,81 @@ func (c *XRay) TagResourceRequest(input *TagResourceInput) (req *request.Request // * ThrottledException // The request exceeds the maximum number of requests per second. // -// * ResourceNotFoundException -// The resource was not found. Verify that the name or Amazon Resource Name -// (ARN) of the resource is correct. -// -// * TooManyTagsException -// You have exceeded the maximum number of tags you can apply to this resource. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource -func (c *XRay) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig +func (c *XRay) PutEncryptionConfig(input *PutEncryptionConfigInput) (*PutEncryptionConfigOutput, error) { + req, out := c.PutEncryptionConfigRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// PutEncryptionConfigWithContext is the same as PutEncryptionConfig with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See PutEncryptionConfig 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 *XRay) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *XRay) PutEncryptionConfigWithContext(ctx aws.Context, input *PutEncryptionConfigInput, opts ...request.Option) (*PutEncryptionConfigOutput, error) { + req, out := c.PutEncryptionConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opPutTelemetryRecords = "PutTelemetryRecords" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// PutTelemetryRecordsRequest generates a "aws/request.Request" representing the +// client's request for the PutTelemetryRecords 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 UntagResource for more information on using the UntagResource +// See PutTelemetryRecords for more information on using the PutTelemetryRecords // 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 UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the PutTelemetryRecordsRequest method. +// req, resp := client.PutTelemetryRecordsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource -func (c *XRay) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords +func (c *XRay) PutTelemetryRecordsRequest(input *PutTelemetryRecordsInput) (req *request.Request, output *PutTelemetryRecordsOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opPutTelemetryRecords, HTTPMethod: "POST", - HTTPPath: "/UntagResource", + HTTPPath: "/TelemetryRecords", } if input == nil { - input = &UntagResourceInput{} + input = &PutTelemetryRecordsInput{} } - output = &UntagResourceOutput{} + output = &PutTelemetryRecordsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for AWS X-Ray. +// PutTelemetryRecords API operation for AWS X-Ray. // -// Removes tags from an AWS X-Ray group or sampling rule. You cannot edit or -// delete system tags (those with an aws: prefix). +// Used by the AWS X-Ray daemon to upload telemetry. // // 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 X-Ray's -// API operation UntagResource for usage and error information. +// API operation PutTelemetryRecords for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -2270,84 +2421,124 @@ func (c *XRay) UntagResourceRequest(input *UntagResourceInput) (req *request.Req // * ThrottledException // The request exceeds the maximum number of requests per second. // -// * ResourceNotFoundException -// The resource was not found. Verify that the name or Amazon Resource Name -// (ARN) of the resource is correct. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource -func (c *XRay) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords +func (c *XRay) PutTelemetryRecords(input *PutTelemetryRecordsInput) (*PutTelemetryRecordsOutput, error) { + req, out := c.PutTelemetryRecordsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// PutTelemetryRecordsWithContext is the same as PutTelemetryRecords with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See PutTelemetryRecords 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 *XRay) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *XRay) PutTelemetryRecordsWithContext(ctx aws.Context, input *PutTelemetryRecordsInput, opts ...request.Option) (*PutTelemetryRecordsOutput, error) { + req, out := c.PutTelemetryRecordsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGroup = "UpdateGroup" +const opPutTraceSegments = "PutTraceSegments" -// UpdateGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGroup operation. The "output" return +// PutTraceSegmentsRequest generates a "aws/request.Request" representing the +// client's request for the PutTraceSegments 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 UpdateGroup for more information on using the UpdateGroup +// See PutTraceSegments for more information on using the PutTraceSegments // 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 UpdateGroupRequest method. -// req, resp := client.UpdateGroupRequest(params) +// // Example sending a request using the PutTraceSegmentsRequest method. +// req, resp := client.PutTraceSegmentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup -func (c *XRay) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments +func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *request.Request, output *PutTraceSegmentsOutput) { op := &request.Operation{ - Name: opUpdateGroup, + Name: opPutTraceSegments, HTTPMethod: "POST", - HTTPPath: "/UpdateGroup", + HTTPPath: "/TraceSegments", } if input == nil { - input = &UpdateGroupInput{} + input = &PutTraceSegmentsInput{} } - output = &UpdateGroupOutput{} + output = &PutTraceSegmentsOutput{} req = c.newRequest(op, input, output) return } -// UpdateGroup API operation for AWS X-Ray. +// PutTraceSegments API operation for AWS X-Ray. // -// Updates a group resource. +// Uploads segment documents to AWS X-Ray. The X-Ray SDK (https://docs.aws.amazon.com/xray/index.html) +// generates segment documents and sends them to the X-Ray daemon, which uploads +// them in batches. A segment document can be a completed segment, an in-progress +// segment, or an array of subsegments. +// +// Segments must include the following fields. For the full segment document +// schema, see AWS X-Ray Segment Documents (https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html) +// in the AWS X-Ray Developer Guide. +// +// Required segment document fields +// +// * name - The name of the service that handled the request. +// +// * id - A 64-bit identifier for the segment, unique among segments in the +// same trace, in 16 hexadecimal digits. +// +// * trace_id - A unique identifier that connects all segments and subsegments +// originating from a single client request. +// +// * start_time - Time the segment or subsegment was created, in floating +// point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 +// or 1.480615200010E9. +// +// * end_time - Time the segment or subsegment was closed. For example, 1480615200.090 +// or 1.480615200090E9. Specify either an end_time or in_progress. +// +// * in_progress - Set to true instead of specifying an end_time to record +// that a segment has been started, but is not complete. Send an in-progress +// segment when your application receives a request that will take a long +// time to serve, to trace that the request was received. When the response +// is sent, send the complete segment to overwrite the in-progress segment. +// +// A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. +// This includes: +// +// Trace ID Format +// +// * The version number, for instance, 1. +// +// * The time of the original request, in Unix epoch time, in 8 hexadecimal +// digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 +// seconds, or 58406520 in hexadecimal. +// +// * A 96-bit identifier for the trace, globally unique, in 24 hexadecimal +// digits. // // 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 X-Ray's -// API operation UpdateGroup for usage and error information. +// API operation PutTraceSegments for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -2356,80 +2547,81 @@ func (c *XRay) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup -func (c *XRay) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { - req, out := c.UpdateGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments +func (c *XRay) PutTraceSegments(input *PutTraceSegmentsInput) (*PutTraceSegmentsOutput, error) { + req, out := c.PutTraceSegmentsRequest(input) return out, req.Send() } -// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// PutTraceSegmentsWithContext is the same as PutTraceSegments with the addition of // the ability to pass a context and additional request options. // -// See UpdateGroup for details on how to use this API operation. +// See PutTraceSegments 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 *XRay) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { - req, out := c.UpdateGroupRequest(input) +func (c *XRay) PutTraceSegmentsWithContext(ctx aws.Context, input *PutTraceSegmentsInput, opts ...request.Option) (*PutTraceSegmentsOutput, error) { + req, out := c.PutTraceSegmentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateSamplingRule = "UpdateSamplingRule" +const opTagResource = "TagResource" -// UpdateSamplingRuleRequest generates a "aws/request.Request" representing the -// client's request for the UpdateSamplingRule operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 UpdateSamplingRule for more information on using the UpdateSamplingRule +// See TagResource for more information on using the TagResource // 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 UpdateSamplingRuleRequest method. -// req, resp := client.UpdateSamplingRuleRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule -func (c *XRay) UpdateSamplingRuleRequest(input *UpdateSamplingRuleInput) (req *request.Request, output *UpdateSamplingRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource +func (c *XRay) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateSamplingRule, + Name: opTagResource, HTTPMethod: "POST", - HTTPPath: "/UpdateSamplingRule", + HTTPPath: "/TagResource", } if input == nil { - input = &UpdateSamplingRuleInput{} + input = &TagResourceInput{} } - output = &UpdateSamplingRuleOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateSamplingRule API operation for AWS X-Ray. +// TagResource API operation for AWS X-Ray. // -// Modifies a sampling rule's configuration. +// Applies tags to an existing AWS X-Ray group or sampling rule. // // 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 X-Ray's -// API operation UpdateSamplingRule for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -2438,84 +2630,343 @@ func (c *XRay) UpdateSamplingRuleRequest(input *UpdateSamplingRuleInput) (req *r // * ThrottledException // The request exceeds the maximum number of requests per second. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule -func (c *XRay) UpdateSamplingRule(input *UpdateSamplingRuleInput) (*UpdateSamplingRuleOutput, error) { - req, out := c.UpdateSamplingRuleRequest(input) +// * ResourceNotFoundException +// The resource was not found. Verify that the name or Amazon Resource Name +// (ARN) of the resource is correct. +// +// * TooManyTagsException +// You have exceeded the maximum number of tags you can apply to this resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource +func (c *XRay) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateSamplingRuleWithContext is the same as UpdateSamplingRule with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateSamplingRule for details on how to use this API operation. +// See TagResource 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 *XRay) UpdateSamplingRuleWithContext(ctx aws.Context, input *UpdateSamplingRuleInput, opts ...request.Option) (*UpdateSamplingRuleOutput, error) { - req, out := c.UpdateSamplingRuleRequest(input) +func (c *XRay) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// An alias for an edge. -type Alias struct { - _ struct{} `type:"structure"` - - // The canonical name of the alias. - Name *string `type:"string"` - - // A list of names for the alias, including the canonical name. - Names []*string `type:"list"` - - // The type of the alias. - Type *string `type:"string"` -} +const opUntagResource = "UntagResource" -// String returns the string representation -func (s Alias) String() string { - return awsutil.Prettify(s) -} +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource +func (c *XRay) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/UntagResource", + } -// GoString returns the string representation -func (s Alias) GoString() string { - return s.String() -} + if input == nil { + input = &UntagResourceInput{} + } -// SetName sets the Name field's value. -func (s *Alias) SetName(v string) *Alias { - s.Name = &v - return s + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// SetNames sets the Names field's value. -func (s *Alias) SetNames(v []*string) *Alias { - s.Names = v - return s +// UntagResource API operation for AWS X-Ray. +// +// Removes tags from an AWS X-Ray group or sampling rule. You cannot edit or +// delete system tags (those with an aws: prefix). +// +// 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 X-Ray's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is missing required parameters or has invalid parameters. +// +// * ThrottledException +// The request exceeds the maximum number of requests per second. +// +// * ResourceNotFoundException +// The resource was not found. Verify that the name or Amazon Resource Name +// (ARN) of the resource is correct. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource +func (c *XRay) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() } -// SetType sets the Type field's value. -func (s *Alias) SetType(v string) *Alias { - s.Type = &v - return s +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *XRay) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// Value of a segment annotation. Has one of three value types: Number, Boolean, -// or String. -type AnnotationValue struct { - _ struct{} `type:"structure"` - - // Value for a Boolean annotation. - BooleanValue *bool `type:"boolean"` - - // Value for a Number annotation. - NumberValue *float64 `type:"double"` +const opUpdateGroup = "UpdateGroup" - // Value for a String annotation. - StringValue *string `type:"string"` -} +// UpdateGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGroup 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 UpdateGroup for more information on using the UpdateGroup +// 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 UpdateGroupRequest method. +// req, resp := client.UpdateGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup +func (c *XRay) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { + op := &request.Operation{ + Name: opUpdateGroup, + HTTPMethod: "POST", + HTTPPath: "/UpdateGroup", + } + + if input == nil { + input = &UpdateGroupInput{} + } + + output = &UpdateGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGroup API operation for AWS X-Ray. +// +// Updates a group resource. +// +// 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 X-Ray's +// API operation UpdateGroup for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is missing required parameters or has invalid parameters. +// +// * ThrottledException +// The request exceeds the maximum number of requests per second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup +func (c *XRay) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + return out, req.Send() +} + +// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGroup 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 *XRay) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSamplingRule = "UpdateSamplingRule" + +// UpdateSamplingRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSamplingRule 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 UpdateSamplingRule for more information on using the UpdateSamplingRule +// 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 UpdateSamplingRuleRequest method. +// req, resp := client.UpdateSamplingRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule +func (c *XRay) UpdateSamplingRuleRequest(input *UpdateSamplingRuleInput) (req *request.Request, output *UpdateSamplingRuleOutput) { + op := &request.Operation{ + Name: opUpdateSamplingRule, + HTTPMethod: "POST", + HTTPPath: "/UpdateSamplingRule", + } + + if input == nil { + input = &UpdateSamplingRuleInput{} + } + + output = &UpdateSamplingRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSamplingRule API operation for AWS X-Ray. +// +// Modifies a sampling rule's configuration. +// +// 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 X-Ray's +// API operation UpdateSamplingRule for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is missing required parameters or has invalid parameters. +// +// * ThrottledException +// The request exceeds the maximum number of requests per second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule +func (c *XRay) UpdateSamplingRule(input *UpdateSamplingRuleInput) (*UpdateSamplingRuleOutput, error) { + req, out := c.UpdateSamplingRuleRequest(input) + return out, req.Send() +} + +// UpdateSamplingRuleWithContext is the same as UpdateSamplingRule with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSamplingRule 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 *XRay) UpdateSamplingRuleWithContext(ctx aws.Context, input *UpdateSamplingRuleInput, opts ...request.Option) (*UpdateSamplingRuleOutput, error) { + req, out := c.UpdateSamplingRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An alias for an edge. +type Alias struct { + _ struct{} `type:"structure"` + + // The canonical name of the alias. + Name *string `type:"string"` + + // A list of names for the alias, including the canonical name. + Names []*string `type:"list"` + + // The type of the alias. + Type *string `type:"string"` +} + +// String returns the string representation +func (s Alias) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alias) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Alias) SetName(v string) *Alias { + s.Name = &v + return s +} + +// SetNames sets the Names field's value. +func (s *Alias) SetNames(v []*string) *Alias { + s.Names = v + return s +} + +// SetType sets the Type field's value. +func (s *Alias) SetType(v string) *Alias { + s.Type = &v + return s +} + +// Value of a segment annotation. Has one of three value types: Number, Boolean, +// or String. +type AnnotationValue struct { + _ struct{} `type:"structure"` + + // Value for a Boolean annotation. + BooleanValue *bool `type:"boolean"` + + // Value for a Number annotation. + NumberValue *float64 `type:"double"` + + // Value for a String annotation. + StringValue *string `type:"string"` +} // String returns the string representation func (s AnnotationValue) String() string { @@ -2545,6 +2996,29 @@ func (s *AnnotationValue) SetStringValue(v string) *AnnotationValue { return s } +// The service within the service graph that has anomalously high fault rates. +type AnomalousService struct { + _ struct{} `type:"structure"` + + ServiceId *ServiceId `type:"structure"` +} + +// String returns the string representation +func (s AnomalousService) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnomalousService) GoString() string { + return s.String() +} + +// SetServiceId sets the ServiceId field's value. +func (s *AnomalousService) SetServiceId(v *ServiceId) *AnomalousService { + s.ServiceId = v + return s +} + // A list of Availability Zones corresponding to the segments in a trace. type AvailabilityZoneDetail struct { _ struct{} `type:"structure"` @@ -3613,6 +4087,40 @@ func (s *FaultStatistics) SetTotalCount(v int64) *FaultStatistics { return s } +// The predicted high and low fault count. This is used to determine if a service +// has become anomalous and if an insight should be created. +type ForecastStatistics struct { + _ struct{} `type:"structure"` + + // The upper limit of fault counts for a service. + FaultCountHigh *int64 `type:"long"` + + // The lower limit of fault counts for a service. + FaultCountLow *int64 `type:"long"` +} + +// String returns the string representation +func (s ForecastStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ForecastStatistics) GoString() string { + return s.String() +} + +// SetFaultCountHigh sets the FaultCountHigh field's value. +func (s *ForecastStatistics) SetFaultCountHigh(v int64) *ForecastStatistics { + s.FaultCountHigh = &v + return s +} + +// SetFaultCountLow sets the FaultCountLow field's value. +func (s *ForecastStatistics) SetFaultCountLow(v int64) *ForecastStatistics { + s.FaultCountLow = &v + return s +} + type GetEncryptionConfigInput struct { _ struct{} `type:"structure"` } @@ -3791,150 +4299,289 @@ func (s *GetGroupsOutput) SetNextToken(v string) *GetGroupsOutput { return s } -type GetSamplingRulesInput struct { +type GetInsightEventsInput struct { _ struct{} `type:"structure"` - // Pagination token. - NextToken *string `type:"string"` -} + // The insight's unique identifier. Use the GetInsightSummaries action to retrieve + // an InsightId. + // + // InsightId is a required field + InsightId *string `type:"string" required:"true"` + + // Used to retrieve at most the specified value of events. + MaxResults *int64 `min:"1" type:"integer"` + + // Specify the pagination token returned by a previous request to retrieve the + // next page of events. + NextToken *string `min:"1" type:"string"` +} // String returns the string representation -func (s GetSamplingRulesInput) String() string { +func (s GetInsightEventsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSamplingRulesInput) GoString() string { +func (s GetInsightEventsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInsightEventsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInsightEventsInput"} + if s.InsightId == nil { + invalidParams.Add(request.NewErrParamRequired("InsightId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInsightId sets the InsightId field's value. +func (s *GetInsightEventsInput) SetInsightId(v string) *GetInsightEventsInput { + s.InsightId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetInsightEventsInput) SetMaxResults(v int64) *GetInsightEventsInput { + s.MaxResults = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *GetSamplingRulesInput) SetNextToken(v string) *GetSamplingRulesInput { +func (s *GetInsightEventsInput) SetNextToken(v string) *GetInsightEventsInput { s.NextToken = &v return s } -type GetSamplingRulesOutput struct { +type GetInsightEventsOutput struct { _ struct{} `type:"structure"` - // Pagination token. - NextToken *string `type:"string"` + // A detailed description of the event. This includes the time of the event, + // client and root cause impact statistics, and the top anomalous service at + // the time of the event. + InsightEvents []*InsightEvent `type:"list"` - // Rule definitions and metadata. - SamplingRuleRecords []*SamplingRuleRecord `type:"list"` + // Use this token to retrieve the next page of insight events. + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s GetSamplingRulesOutput) String() string { +func (s GetInsightEventsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSamplingRulesOutput) GoString() string { +func (s GetInsightEventsOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetSamplingRulesOutput) SetNextToken(v string) *GetSamplingRulesOutput { - s.NextToken = &v +// SetInsightEvents sets the InsightEvents field's value. +func (s *GetInsightEventsOutput) SetInsightEvents(v []*InsightEvent) *GetInsightEventsOutput { + s.InsightEvents = v return s } -// SetSamplingRuleRecords sets the SamplingRuleRecords field's value. -func (s *GetSamplingRulesOutput) SetSamplingRuleRecords(v []*SamplingRuleRecord) *GetSamplingRulesOutput { - s.SamplingRuleRecords = v +// SetNextToken sets the NextToken field's value. +func (s *GetInsightEventsOutput) SetNextToken(v string) *GetInsightEventsOutput { + s.NextToken = &v return s } -type GetSamplingStatisticSummariesInput struct { +type GetInsightImpactGraphInput struct { _ struct{} `type:"structure"` - // Pagination token. - NextToken *string `type:"string"` + // The estimated end time of the insight, in Unix time seconds. The EndTime + // is exclusive of the value provided. The time range between the start time + // and end time can't be more than six hours. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` + + // The insight's unique identifier. Use the GetInsightSummaries action to retrieve + // an InsightId. + // + // InsightId is a required field + InsightId *string `type:"string" required:"true"` + + // Specify the pagination token returned by a previous request to retrieve the + // next page of results. + NextToken *string `min:"1" type:"string"` + + // The estimated start time of the insight, in Unix time seconds. The StartTime + // is inclusive of the value provided and can't be more than 30 days old. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation -func (s GetSamplingStatisticSummariesInput) String() string { +func (s GetInsightImpactGraphInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSamplingStatisticSummariesInput) GoString() string { +func (s GetInsightImpactGraphInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInsightImpactGraphInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInsightImpactGraphInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.InsightId == nil { + invalidParams.Add(request.NewErrParamRequired("InsightId")) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *GetInsightImpactGraphInput) SetEndTime(v time.Time) *GetInsightImpactGraphInput { + s.EndTime = &v + return s +} + +// SetInsightId sets the InsightId field's value. +func (s *GetInsightImpactGraphInput) SetInsightId(v string) *GetInsightImpactGraphInput { + s.InsightId = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *GetSamplingStatisticSummariesInput) SetNextToken(v string) *GetSamplingStatisticSummariesInput { +func (s *GetInsightImpactGraphInput) SetNextToken(v string) *GetInsightImpactGraphInput { s.NextToken = &v return s } -type GetSamplingStatisticSummariesOutput struct { +// SetStartTime sets the StartTime field's value. +func (s *GetInsightImpactGraphInput) SetStartTime(v time.Time) *GetInsightImpactGraphInput { + s.StartTime = &v + return s +} + +type GetInsightImpactGraphOutput struct { _ struct{} `type:"structure"` + // The provided end time. + EndTime *time.Time `type:"timestamp"` + + // The insight's unique identifier. + InsightId *string `type:"string"` + // Pagination token. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` - // Information about the number of requests instrumented for each sampling rule. - SamplingStatisticSummaries []*SamplingStatisticSummary `type:"list"` + // The time, in Unix seconds, at which the service graph ended. + ServiceGraphEndTime *time.Time `type:"timestamp"` + + // The time, in Unix seconds, at which the service graph started. + ServiceGraphStartTime *time.Time `type:"timestamp"` + + // The AWS instrumented services related to the insight. + Services []*InsightImpactGraphService `type:"list"` + + // The provided start time. + StartTime *time.Time `type:"timestamp"` } // String returns the string representation -func (s GetSamplingStatisticSummariesOutput) String() string { +func (s GetInsightImpactGraphOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSamplingStatisticSummariesOutput) GoString() string { +func (s GetInsightImpactGraphOutput) GoString() string { return s.String() } +// SetEndTime sets the EndTime field's value. +func (s *GetInsightImpactGraphOutput) SetEndTime(v time.Time) *GetInsightImpactGraphOutput { + s.EndTime = &v + return s +} + +// SetInsightId sets the InsightId field's value. +func (s *GetInsightImpactGraphOutput) SetInsightId(v string) *GetInsightImpactGraphOutput { + s.InsightId = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *GetSamplingStatisticSummariesOutput) SetNextToken(v string) *GetSamplingStatisticSummariesOutput { +func (s *GetInsightImpactGraphOutput) SetNextToken(v string) *GetInsightImpactGraphOutput { s.NextToken = &v return s } -// SetSamplingStatisticSummaries sets the SamplingStatisticSummaries field's value. -func (s *GetSamplingStatisticSummariesOutput) SetSamplingStatisticSummaries(v []*SamplingStatisticSummary) *GetSamplingStatisticSummariesOutput { - s.SamplingStatisticSummaries = v +// SetServiceGraphEndTime sets the ServiceGraphEndTime field's value. +func (s *GetInsightImpactGraphOutput) SetServiceGraphEndTime(v time.Time) *GetInsightImpactGraphOutput { + s.ServiceGraphEndTime = &v return s } -type GetSamplingTargetsInput struct { +// SetServiceGraphStartTime sets the ServiceGraphStartTime field's value. +func (s *GetInsightImpactGraphOutput) SetServiceGraphStartTime(v time.Time) *GetInsightImpactGraphOutput { + s.ServiceGraphStartTime = &v + return s +} + +// SetServices sets the Services field's value. +func (s *GetInsightImpactGraphOutput) SetServices(v []*InsightImpactGraphService) *GetInsightImpactGraphOutput { + s.Services = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetInsightImpactGraphOutput) SetStartTime(v time.Time) *GetInsightImpactGraphOutput { + s.StartTime = &v + return s +} + +type GetInsightInput struct { _ struct{} `type:"structure"` - // Information about rules that the service is using to sample requests. + // The insight's unique identifier. Use the GetInsightSummaries action to retrieve + // an InsightId. // - // SamplingStatisticsDocuments is a required field - SamplingStatisticsDocuments []*SamplingStatisticsDocument `type:"list" required:"true"` + // InsightId is a required field + InsightId *string `type:"string" required:"true"` } // String returns the string representation -func (s GetSamplingTargetsInput) String() string { +func (s GetInsightInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSamplingTargetsInput) GoString() string { +func (s GetInsightInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSamplingTargetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSamplingTargetsInput"} - if s.SamplingStatisticsDocuments == nil { - invalidParams.Add(request.NewErrParamRequired("SamplingStatisticsDocuments")) - } - if s.SamplingStatisticsDocuments != nil { - for i, v := range s.SamplingStatisticsDocuments { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SamplingStatisticsDocuments", i), err.(request.ErrInvalidParams)) - } - } +func (s *GetInsightInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInsightInput"} + if s.InsightId == nil { + invalidParams.Add(request.NewErrParamRequired("InsightId")) } if invalidParams.Len() > 0 { @@ -3943,92 +4590,80 @@ func (s *GetSamplingTargetsInput) Validate() error { return nil } -// SetSamplingStatisticsDocuments sets the SamplingStatisticsDocuments field's value. -func (s *GetSamplingTargetsInput) SetSamplingStatisticsDocuments(v []*SamplingStatisticsDocument) *GetSamplingTargetsInput { - s.SamplingStatisticsDocuments = v +// SetInsightId sets the InsightId field's value. +func (s *GetInsightInput) SetInsightId(v string) *GetInsightInput { + s.InsightId = &v return s } -type GetSamplingTargetsOutput struct { +type GetInsightOutput struct { _ struct{} `type:"structure"` - // The last time a user changed the sampling rule configuration. If the sampling - // rule configuration changed since the service last retrieved it, the service - // should call GetSamplingRules to get the latest version. - LastRuleModification *time.Time `type:"timestamp"` - - // Updated rules that the service should use to sample requests. - SamplingTargetDocuments []*SamplingTargetDocument `type:"list"` - - // Information about SamplingStatisticsDocument that X-Ray could not process. - UnprocessedStatistics []*UnprocessedStatistics `type:"list"` + // The summary information of an insight. + Insight *Insight `type:"structure"` } // String returns the string representation -func (s GetSamplingTargetsOutput) String() string { +func (s GetInsightOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSamplingTargetsOutput) GoString() string { +func (s GetInsightOutput) GoString() string { return s.String() } -// SetLastRuleModification sets the LastRuleModification field's value. -func (s *GetSamplingTargetsOutput) SetLastRuleModification(v time.Time) *GetSamplingTargetsOutput { - s.LastRuleModification = &v - return s -} - -// SetSamplingTargetDocuments sets the SamplingTargetDocuments field's value. -func (s *GetSamplingTargetsOutput) SetSamplingTargetDocuments(v []*SamplingTargetDocument) *GetSamplingTargetsOutput { - s.SamplingTargetDocuments = v - return s -} - -// SetUnprocessedStatistics sets the UnprocessedStatistics field's value. -func (s *GetSamplingTargetsOutput) SetUnprocessedStatistics(v []*UnprocessedStatistics) *GetSamplingTargetsOutput { - s.UnprocessedStatistics = v +// SetInsight sets the Insight field's value. +func (s *GetInsightOutput) SetInsight(v *Insight) *GetInsightOutput { + s.Insight = v return s } -type GetServiceGraphInput struct { +type GetInsightSummariesInput struct { _ struct{} `type:"structure"` - // The end of the timeframe for which to generate a graph. + // The end of the time frame in which the insights ended. The end time can't + // be more than 30 days old. // // EndTime is a required field EndTime *time.Time `type:"timestamp" required:"true"` - // The Amazon Resource Name (ARN) of a group based on which you want to generate - // a graph. + // The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't + // provided. GroupARN *string `min:"1" type:"string"` - // The name of a group based on which you want to generate a graph. + // The name of the group. Required if the GroupARN isn't provided. GroupName *string `min:"1" type:"string"` + // The maximum number of results to display. + MaxResults *int64 `min:"1" type:"integer"` + // Pagination token. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` - // The start of the time frame for which to generate a graph. + // The beginning of the time frame in which the insights started. The start + // time can't be more than 30 days old. // // StartTime is a required field StartTime *time.Time `type:"timestamp" required:"true"` + + // The list of insight states. + States []*string `type:"list"` } // String returns the string representation -func (s GetServiceGraphInput) String() string { +func (s GetInsightSummariesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetServiceGraphInput) GoString() string { +func (s GetInsightSummariesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetServiceGraphInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetServiceGraphInput"} +func (s *GetInsightSummariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInsightSummariesInput"} if s.EndTime == nil { invalidParams.Add(request.NewErrParamRequired("EndTime")) } @@ -4038,6 +4673,12 @@ func (s *GetServiceGraphInput) Validate() error { if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) } + 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.StartTime == nil { invalidParams.Add(request.NewErrParamRequired("StartTime")) } @@ -4049,276 +4690,226 @@ func (s *GetServiceGraphInput) Validate() error { } // SetEndTime sets the EndTime field's value. -func (s *GetServiceGraphInput) SetEndTime(v time.Time) *GetServiceGraphInput { +func (s *GetInsightSummariesInput) SetEndTime(v time.Time) *GetInsightSummariesInput { s.EndTime = &v return s } // SetGroupARN sets the GroupARN field's value. -func (s *GetServiceGraphInput) SetGroupARN(v string) *GetServiceGraphInput { +func (s *GetInsightSummariesInput) SetGroupARN(v string) *GetInsightSummariesInput { s.GroupARN = &v return s } // SetGroupName sets the GroupName field's value. -func (s *GetServiceGraphInput) SetGroupName(v string) *GetServiceGraphInput { +func (s *GetInsightSummariesInput) SetGroupName(v string) *GetInsightSummariesInput { s.GroupName = &v return s } +// SetMaxResults sets the MaxResults field's value. +func (s *GetInsightSummariesInput) SetMaxResults(v int64) *GetInsightSummariesInput { + s.MaxResults = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *GetServiceGraphInput) SetNextToken(v string) *GetServiceGraphInput { +func (s *GetInsightSummariesInput) SetNextToken(v string) *GetInsightSummariesInput { s.NextToken = &v return s } // SetStartTime sets the StartTime field's value. -func (s *GetServiceGraphInput) SetStartTime(v time.Time) *GetServiceGraphInput { +func (s *GetInsightSummariesInput) SetStartTime(v time.Time) *GetInsightSummariesInput { s.StartTime = &v return s } -type GetServiceGraphOutput struct { - _ struct{} `type:"structure"` +// SetStates sets the States field's value. +func (s *GetInsightSummariesInput) SetStates(v []*string) *GetInsightSummariesInput { + s.States = v + return s +} - // A flag indicating whether the group's filter expression has been consistent, - // or if the returned service graph may show traces from an older version of - // the group's filter expression. - ContainsOldGroupVersions *bool `type:"boolean"` +type GetInsightSummariesOutput struct { + _ struct{} `type:"structure"` - // The end of the time frame for which the graph was generated. - EndTime *time.Time `type:"timestamp"` + // The summary of each insight within the group matching the provided filters. + // The summary contains the InsightID, start and end time, the root cause service, + // the root cause and client impact statistics, the top anomalous services, + // and the status of the insight. + InsightSummaries []*InsightSummary `type:"list"` // Pagination token. - NextToken *string `type:"string"` - - // The services that have processed a traced request during the specified time - // frame. - Services []*Service `type:"list"` - - // The start of the time frame for which the graph was generated. - StartTime *time.Time `type:"timestamp"` + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s GetServiceGraphOutput) String() string { +func (s GetInsightSummariesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetServiceGraphOutput) GoString() string { +func (s GetInsightSummariesOutput) GoString() string { return s.String() } -// SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value. -func (s *GetServiceGraphOutput) SetContainsOldGroupVersions(v bool) *GetServiceGraphOutput { - s.ContainsOldGroupVersions = &v - return s -} - -// SetEndTime sets the EndTime field's value. -func (s *GetServiceGraphOutput) SetEndTime(v time.Time) *GetServiceGraphOutput { - s.EndTime = &v +// SetInsightSummaries sets the InsightSummaries field's value. +func (s *GetInsightSummariesOutput) SetInsightSummaries(v []*InsightSummary) *GetInsightSummariesOutput { + s.InsightSummaries = v return s } // SetNextToken sets the NextToken field's value. -func (s *GetServiceGraphOutput) SetNextToken(v string) *GetServiceGraphOutput { +func (s *GetInsightSummariesOutput) SetNextToken(v string) *GetInsightSummariesOutput { s.NextToken = &v return s } -// SetServices sets the Services field's value. -func (s *GetServiceGraphOutput) SetServices(v []*Service) *GetServiceGraphOutput { - s.Services = v - return s -} +type GetSamplingRulesInput struct { + _ struct{} `type:"structure"` -// SetStartTime sets the StartTime field's value. -func (s *GetServiceGraphOutput) SetStartTime(v time.Time) *GetServiceGraphOutput { - s.StartTime = &v - return s + // Pagination token. + NextToken *string `type:"string"` } -type GetTimeSeriesServiceStatisticsInput struct { - _ struct{} `type:"structure"` - - // The end of the time frame for which to aggregate statistics. - // - // EndTime is a required field - EndTime *time.Time `type:"timestamp" required:"true"` +// String returns the string representation +func (s GetSamplingRulesInput) String() string { + return awsutil.Prettify(s) +} - // A filter expression defining entities that will be aggregated for statistics. - // Supports ID, service, and edge functions. If no selector expression is specified, - // edge statistics are returned. - EntitySelectorExpression *string `min:"1" type:"string"` +// GoString returns the string representation +func (s GetSamplingRulesInput) GoString() string { + return s.String() +} - // The Amazon Resource Name (ARN) of the group for which to pull statistics - // from. - GroupARN *string `min:"1" type:"string"` +// SetNextToken sets the NextToken field's value. +func (s *GetSamplingRulesInput) SetNextToken(v string) *GetSamplingRulesInput { + s.NextToken = &v + return s +} - // The case-sensitive name of the group for which to pull statistics from. - GroupName *string `min:"1" type:"string"` +type GetSamplingRulesOutput struct { + _ struct{} `type:"structure"` // Pagination token. NextToken *string `type:"string"` - // Aggregation period in seconds. - Period *int64 `type:"integer"` - - // The start of the time frame for which to aggregate statistics. - // - // StartTime is a required field - StartTime *time.Time `type:"timestamp" required:"true"` + // Rule definitions and metadata. + SamplingRuleRecords []*SamplingRuleRecord `type:"list"` } // String returns the string representation -func (s GetTimeSeriesServiceStatisticsInput) String() string { +func (s GetSamplingRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTimeSeriesServiceStatisticsInput) GoString() string { +func (s GetSamplingRulesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetTimeSeriesServiceStatisticsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTimeSeriesServiceStatisticsInput"} - if s.EndTime == nil { - invalidParams.Add(request.NewErrParamRequired("EndTime")) - } - if s.EntitySelectorExpression != nil && len(*s.EntitySelectorExpression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntitySelectorExpression", 1)) - } - if s.GroupARN != nil && len(*s.GroupARN) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1)) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) - } - if s.StartTime == nil { - invalidParams.Add(request.NewErrParamRequired("StartTime")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetEndTime sets the EndTime field's value. -func (s *GetTimeSeriesServiceStatisticsInput) SetEndTime(v time.Time) *GetTimeSeriesServiceStatisticsInput { - s.EndTime = &v +// SetNextToken sets the NextToken field's value. +func (s *GetSamplingRulesOutput) SetNextToken(v string) *GetSamplingRulesOutput { + s.NextToken = &v return s } -// SetEntitySelectorExpression sets the EntitySelectorExpression field's value. -func (s *GetTimeSeriesServiceStatisticsInput) SetEntitySelectorExpression(v string) *GetTimeSeriesServiceStatisticsInput { - s.EntitySelectorExpression = &v +// SetSamplingRuleRecords sets the SamplingRuleRecords field's value. +func (s *GetSamplingRulesOutput) SetSamplingRuleRecords(v []*SamplingRuleRecord) *GetSamplingRulesOutput { + s.SamplingRuleRecords = v return s } -// SetGroupARN sets the GroupARN field's value. -func (s *GetTimeSeriesServiceStatisticsInput) SetGroupARN(v string) *GetTimeSeriesServiceStatisticsInput { - s.GroupARN = &v - return s -} +type GetSamplingStatisticSummariesInput struct { + _ struct{} `type:"structure"` -// SetGroupName sets the GroupName field's value. -func (s *GetTimeSeriesServiceStatisticsInput) SetGroupName(v string) *GetTimeSeriesServiceStatisticsInput { - s.GroupName = &v - return s + // Pagination token. + NextToken *string `type:"string"` } -// SetNextToken sets the NextToken field's value. -func (s *GetTimeSeriesServiceStatisticsInput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsInput { - s.NextToken = &v - return s +// String returns the string representation +func (s GetSamplingStatisticSummariesInput) String() string { + return awsutil.Prettify(s) } -// SetPeriod sets the Period field's value. -func (s *GetTimeSeriesServiceStatisticsInput) SetPeriod(v int64) *GetTimeSeriesServiceStatisticsInput { - s.Period = &v - return s +// GoString returns the string representation +func (s GetSamplingStatisticSummariesInput) GoString() string { + return s.String() } -// SetStartTime sets the StartTime field's value. -func (s *GetTimeSeriesServiceStatisticsInput) SetStartTime(v time.Time) *GetTimeSeriesServiceStatisticsInput { - s.StartTime = &v +// SetNextToken sets the NextToken field's value. +func (s *GetSamplingStatisticSummariesInput) SetNextToken(v string) *GetSamplingStatisticSummariesInput { + s.NextToken = &v return s } -type GetTimeSeriesServiceStatisticsOutput struct { +type GetSamplingStatisticSummariesOutput struct { _ struct{} `type:"structure"` - // A flag indicating whether or not a group's filter expression has been consistent, - // or if a returned aggregation might show statistics from an older version - // of the group's filter expression. - ContainsOldGroupVersions *bool `type:"boolean"` - // Pagination token. NextToken *string `type:"string"` - // The collection of statistics. - TimeSeriesServiceStatistics []*TimeSeriesServiceStatistics `type:"list"` + // Information about the number of requests instrumented for each sampling rule. + SamplingStatisticSummaries []*SamplingStatisticSummary `type:"list"` } // String returns the string representation -func (s GetTimeSeriesServiceStatisticsOutput) String() string { +func (s GetSamplingStatisticSummariesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTimeSeriesServiceStatisticsOutput) GoString() string { +func (s GetSamplingStatisticSummariesOutput) GoString() string { return s.String() } -// SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value. -func (s *GetTimeSeriesServiceStatisticsOutput) SetContainsOldGroupVersions(v bool) *GetTimeSeriesServiceStatisticsOutput { - s.ContainsOldGroupVersions = &v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *GetTimeSeriesServiceStatisticsOutput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsOutput { +func (s *GetSamplingStatisticSummariesOutput) SetNextToken(v string) *GetSamplingStatisticSummariesOutput { s.NextToken = &v return s } -// SetTimeSeriesServiceStatistics sets the TimeSeriesServiceStatistics field's value. -func (s *GetTimeSeriesServiceStatisticsOutput) SetTimeSeriesServiceStatistics(v []*TimeSeriesServiceStatistics) *GetTimeSeriesServiceStatisticsOutput { - s.TimeSeriesServiceStatistics = v +// SetSamplingStatisticSummaries sets the SamplingStatisticSummaries field's value. +func (s *GetSamplingStatisticSummariesOutput) SetSamplingStatisticSummaries(v []*SamplingStatisticSummary) *GetSamplingStatisticSummariesOutput { + s.SamplingStatisticSummaries = v return s } -type GetTraceGraphInput struct { +type GetSamplingTargetsInput struct { _ struct{} `type:"structure"` - // Pagination token. - NextToken *string `type:"string"` - - // Trace IDs of requests for which to generate a service graph. + // Information about rules that the service is using to sample requests. // - // TraceIds is a required field - TraceIds []*string `type:"list" required:"true"` + // SamplingStatisticsDocuments is a required field + SamplingStatisticsDocuments []*SamplingStatisticsDocument `type:"list" required:"true"` } // String returns the string representation -func (s GetTraceGraphInput) String() string { +func (s GetSamplingTargetsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTraceGraphInput) GoString() string { +func (s GetSamplingTargetsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTraceGraphInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTraceGraphInput"} - if s.TraceIds == nil { - invalidParams.Add(request.NewErrParamRequired("TraceIds")) +func (s *GetSamplingTargetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSamplingTargetsInput"} + if s.SamplingStatisticsDocuments == nil { + invalidParams.Add(request.NewErrParamRequired("SamplingStatisticsDocuments")) + } + if s.SamplingStatisticsDocuments != nil { + for i, v := range s.SamplingStatisticsDocuments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SamplingStatisticsDocuments", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -4327,99 +4918,101 @@ func (s *GetTraceGraphInput) Validate() error { return nil } -// SetNextToken sets the NextToken field's value. -func (s *GetTraceGraphInput) SetNextToken(v string) *GetTraceGraphInput { - s.NextToken = &v - return s -} - -// SetTraceIds sets the TraceIds field's value. -func (s *GetTraceGraphInput) SetTraceIds(v []*string) *GetTraceGraphInput { - s.TraceIds = v +// SetSamplingStatisticsDocuments sets the SamplingStatisticsDocuments field's value. +func (s *GetSamplingTargetsInput) SetSamplingStatisticsDocuments(v []*SamplingStatisticsDocument) *GetSamplingTargetsInput { + s.SamplingStatisticsDocuments = v return s } -type GetTraceGraphOutput struct { +type GetSamplingTargetsOutput struct { _ struct{} `type:"structure"` - // Pagination token. - NextToken *string `type:"string"` + // The last time a user changed the sampling rule configuration. If the sampling + // rule configuration changed since the service last retrieved it, the service + // should call GetSamplingRules to get the latest version. + LastRuleModification *time.Time `type:"timestamp"` - // The services that have processed one of the specified requests. - Services []*Service `type:"list"` + // Updated rules that the service should use to sample requests. + SamplingTargetDocuments []*SamplingTargetDocument `type:"list"` + + // Information about SamplingStatisticsDocument that X-Ray could not process. + UnprocessedStatistics []*UnprocessedStatistics `type:"list"` } // String returns the string representation -func (s GetTraceGraphOutput) String() string { +func (s GetSamplingTargetsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTraceGraphOutput) GoString() string { +func (s GetSamplingTargetsOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetTraceGraphOutput) SetNextToken(v string) *GetTraceGraphOutput { - s.NextToken = &v +// SetLastRuleModification sets the LastRuleModification field's value. +func (s *GetSamplingTargetsOutput) SetLastRuleModification(v time.Time) *GetSamplingTargetsOutput { + s.LastRuleModification = &v return s } -// SetServices sets the Services field's value. -func (s *GetTraceGraphOutput) SetServices(v []*Service) *GetTraceGraphOutput { - s.Services = v +// SetSamplingTargetDocuments sets the SamplingTargetDocuments field's value. +func (s *GetSamplingTargetsOutput) SetSamplingTargetDocuments(v []*SamplingTargetDocument) *GetSamplingTargetsOutput { + s.SamplingTargetDocuments = v return s } -type GetTraceSummariesInput struct { +// SetUnprocessedStatistics sets the UnprocessedStatistics field's value. +func (s *GetSamplingTargetsOutput) SetUnprocessedStatistics(v []*UnprocessedStatistics) *GetSamplingTargetsOutput { + s.UnprocessedStatistics = v + return s +} + +type GetServiceGraphInput struct { _ struct{} `type:"structure"` - // The end of the time frame for which to retrieve traces. + // The end of the timeframe for which to generate a graph. // // EndTime is a required field EndTime *time.Time `type:"timestamp" required:"true"` - // Specify a filter expression to retrieve trace summaries for services or requests - // that meet certain requirements. - FilterExpression *string `type:"string"` - - // Specify the pagination token returned by a previous request to retrieve the - // next page of results. - NextToken *string `type:"string"` + // The Amazon Resource Name (ARN) of a group based on which you want to generate + // a graph. + GroupARN *string `min:"1" type:"string"` - // Set to true to get summaries for only a subset of available traces. - Sampling *bool `type:"boolean"` + // The name of a group based on which you want to generate a graph. + GroupName *string `min:"1" type:"string"` - // A parameter to indicate whether to enable sampling on trace summaries. Input - // parameters are Name and Value. - SamplingStrategy *SamplingStrategy `type:"structure"` + // Pagination token. + NextToken *string `type:"string"` - // The start of the time frame for which to retrieve traces. + // The start of the time frame for which to generate a graph. // // StartTime is a required field StartTime *time.Time `type:"timestamp" required:"true"` - - // A parameter to indicate whether to query trace summaries by TraceId or Event - // time. - TimeRangeType *string `type:"string" enum:"TimeRangeType"` } // String returns the string representation -func (s GetTraceSummariesInput) String() string { +func (s GetServiceGraphInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTraceSummariesInput) GoString() string { +func (s GetServiceGraphInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTraceSummariesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTraceSummariesInput"} +func (s *GetServiceGraphInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetServiceGraphInput"} if s.EndTime == nil { invalidParams.Add(request.NewErrParamRequired("EndTime")) } + if s.GroupARN != nil && len(*s.GroupARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1)) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } if s.StartTime == nil { invalidParams.Add(request.NewErrParamRequired("StartTime")) } @@ -4431,307 +5024,1136 @@ func (s *GetTraceSummariesInput) Validate() error { } // SetEndTime sets the EndTime field's value. -func (s *GetTraceSummariesInput) SetEndTime(v time.Time) *GetTraceSummariesInput { +func (s *GetServiceGraphInput) SetEndTime(v time.Time) *GetServiceGraphInput { s.EndTime = &v return s } -// SetFilterExpression sets the FilterExpression field's value. -func (s *GetTraceSummariesInput) SetFilterExpression(v string) *GetTraceSummariesInput { - s.FilterExpression = &v +// SetGroupARN sets the GroupARN field's value. +func (s *GetServiceGraphInput) SetGroupARN(v string) *GetServiceGraphInput { + s.GroupARN = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *GetServiceGraphInput) SetGroupName(v string) *GetServiceGraphInput { + s.GroupName = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetTraceSummariesInput) SetNextToken(v string) *GetTraceSummariesInput { +func (s *GetServiceGraphInput) SetNextToken(v string) *GetServiceGraphInput { s.NextToken = &v return s } -// SetSampling sets the Sampling field's value. -func (s *GetTraceSummariesInput) SetSampling(v bool) *GetTraceSummariesInput { - s.Sampling = &v +// SetStartTime sets the StartTime field's value. +func (s *GetServiceGraphInput) SetStartTime(v time.Time) *GetServiceGraphInput { + s.StartTime = &v return s } -// SetSamplingStrategy sets the SamplingStrategy field's value. -func (s *GetTraceSummariesInput) SetSamplingStrategy(v *SamplingStrategy) *GetTraceSummariesInput { - s.SamplingStrategy = v +type GetServiceGraphOutput struct { + _ struct{} `type:"structure"` + + // A flag indicating whether the group's filter expression has been consistent, + // or if the returned service graph may show traces from an older version of + // the group's filter expression. + ContainsOldGroupVersions *bool `type:"boolean"` + + // The end of the time frame for which the graph was generated. + EndTime *time.Time `type:"timestamp"` + + // Pagination token. + NextToken *string `type:"string"` + + // The services that have processed a traced request during the specified time + // frame. + Services []*Service `type:"list"` + + // The start of the time frame for which the graph was generated. + StartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s GetServiceGraphOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceGraphOutput) GoString() string { + return s.String() +} + +// SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value. +func (s *GetServiceGraphOutput) SetContainsOldGroupVersions(v bool) *GetServiceGraphOutput { + s.ContainsOldGroupVersions = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *GetTraceSummariesInput) SetStartTime(v time.Time) *GetTraceSummariesInput { - s.StartTime = &v +// SetEndTime sets the EndTime field's value. +func (s *GetServiceGraphOutput) SetEndTime(v time.Time) *GetServiceGraphOutput { + s.EndTime = &v return s } -// SetTimeRangeType sets the TimeRangeType field's value. -func (s *GetTraceSummariesInput) SetTimeRangeType(v string) *GetTraceSummariesInput { - s.TimeRangeType = &v +// SetNextToken sets the NextToken field's value. +func (s *GetServiceGraphOutput) SetNextToken(v string) *GetServiceGraphOutput { + s.NextToken = &v return s } -type GetTraceSummariesOutput struct { +// SetServices sets the Services field's value. +func (s *GetServiceGraphOutput) SetServices(v []*Service) *GetServiceGraphOutput { + s.Services = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetServiceGraphOutput) SetStartTime(v time.Time) *GetServiceGraphOutput { + s.StartTime = &v + return s +} + +type GetTimeSeriesServiceStatisticsInput struct { _ struct{} `type:"structure"` - // The start time of this page of results. - ApproximateTime *time.Time `type:"timestamp"` + // The end of the time frame for which to aggregate statistics. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` - // If the requested time frame contained more than one page of results, you - // can use this token to retrieve the next page. The first page contains the - // most recent results, closest to the end of the time frame. + // A filter expression defining entities that will be aggregated for statistics. + // Supports ID, service, and edge functions. If no selector expression is specified, + // edge statistics are returned. + EntitySelectorExpression *string `min:"1" type:"string"` + + // The forecasted high and low fault count values. Forecast enabled requests + // require the EntitySelectorExpression ID be provided. + ForecastStatistics *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the group for which to pull statistics + // from. + GroupARN *string `min:"1" type:"string"` + + // The case-sensitive name of the group for which to pull statistics from. + GroupName *string `min:"1" type:"string"` + + // Pagination token. NextToken *string `type:"string"` - // Trace IDs and annotations for traces that were found in the specified time - // frame. - TraceSummaries []*TraceSummary `type:"list"` + // Aggregation period in seconds. + Period *int64 `type:"integer"` - // The total number of traces processed, including traces that did not match - // the specified filter expression. - TracesProcessedCount *int64 `type:"long"` + // The start of the time frame for which to aggregate statistics. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation -func (s GetTraceSummariesOutput) String() string { +func (s GetTimeSeriesServiceStatisticsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTraceSummariesOutput) GoString() string { +func (s GetTimeSeriesServiceStatisticsInput) GoString() string { return s.String() } -// SetApproximateTime sets the ApproximateTime field's value. -func (s *GetTraceSummariesOutput) SetApproximateTime(v time.Time) *GetTraceSummariesOutput { - s.ApproximateTime = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTimeSeriesServiceStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTimeSeriesServiceStatisticsInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.EntitySelectorExpression != nil && len(*s.EntitySelectorExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntitySelectorExpression", 1)) + } + if s.GroupARN != nil && len(*s.GroupARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1)) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *GetTimeSeriesServiceStatisticsInput) SetEndTime(v time.Time) *GetTimeSeriesServiceStatisticsInput { + s.EndTime = &v + return s +} + +// SetEntitySelectorExpression sets the EntitySelectorExpression field's value. +func (s *GetTimeSeriesServiceStatisticsInput) SetEntitySelectorExpression(v string) *GetTimeSeriesServiceStatisticsInput { + s.EntitySelectorExpression = &v + return s +} + +// SetForecastStatistics sets the ForecastStatistics field's value. +func (s *GetTimeSeriesServiceStatisticsInput) SetForecastStatistics(v bool) *GetTimeSeriesServiceStatisticsInput { + s.ForecastStatistics = &v + return s +} + +// SetGroupARN sets the GroupARN field's value. +func (s *GetTimeSeriesServiceStatisticsInput) SetGroupARN(v string) *GetTimeSeriesServiceStatisticsInput { + s.GroupARN = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *GetTimeSeriesServiceStatisticsInput) SetGroupName(v string) *GetTimeSeriesServiceStatisticsInput { + s.GroupName = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetTraceSummariesOutput) SetNextToken(v string) *GetTraceSummariesOutput { +func (s *GetTimeSeriesServiceStatisticsInput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsInput { s.NextToken = &v return s } -// SetTraceSummaries sets the TraceSummaries field's value. -func (s *GetTraceSummariesOutput) SetTraceSummaries(v []*TraceSummary) *GetTraceSummariesOutput { - s.TraceSummaries = v +// SetPeriod sets the Period field's value. +func (s *GetTimeSeriesServiceStatisticsInput) SetPeriod(v int64) *GetTimeSeriesServiceStatisticsInput { + s.Period = &v return s } -// SetTracesProcessedCount sets the TracesProcessedCount field's value. -func (s *GetTraceSummariesOutput) SetTracesProcessedCount(v int64) *GetTraceSummariesOutput { - s.TracesProcessedCount = &v +// SetStartTime sets the StartTime field's value. +func (s *GetTimeSeriesServiceStatisticsInput) SetStartTime(v time.Time) *GetTimeSeriesServiceStatisticsInput { + s.StartTime = &v return s } -// Details and metadata for a group. -type Group struct { +type GetTimeSeriesServiceStatisticsOutput struct { _ struct{} `type:"structure"` - // The filter expression defining the parameters to include traces. - FilterExpression *string `type:"string"` + // A flag indicating whether or not a group's filter expression has been consistent, + // or if a returned aggregation might show statistics from an older version + // of the group's filter expression. + ContainsOldGroupVersions *bool `type:"boolean"` + + // Pagination token. + NextToken *string `type:"string"` + + // The collection of statistics. + TimeSeriesServiceStatistics []*TimeSeriesServiceStatistics `type:"list"` +} + +// String returns the string representation +func (s GetTimeSeriesServiceStatisticsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTimeSeriesServiceStatisticsOutput) GoString() string { + return s.String() +} + +// SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value. +func (s *GetTimeSeriesServiceStatisticsOutput) SetContainsOldGroupVersions(v bool) *GetTimeSeriesServiceStatisticsOutput { + s.ContainsOldGroupVersions = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTimeSeriesServiceStatisticsOutput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsOutput { + s.NextToken = &v + return s +} + +// SetTimeSeriesServiceStatistics sets the TimeSeriesServiceStatistics field's value. +func (s *GetTimeSeriesServiceStatisticsOutput) SetTimeSeriesServiceStatistics(v []*TimeSeriesServiceStatistics) *GetTimeSeriesServiceStatisticsOutput { + s.TimeSeriesServiceStatistics = v + return s +} + +type GetTraceGraphInput struct { + _ struct{} `type:"structure"` + + // Pagination token. + NextToken *string `type:"string"` + + // Trace IDs of requests for which to generate a service graph. + // + // TraceIds is a required field + TraceIds []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s GetTraceGraphInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTraceGraphInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTraceGraphInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTraceGraphInput"} + if s.TraceIds == nil { + invalidParams.Add(request.NewErrParamRequired("TraceIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTraceGraphInput) SetNextToken(v string) *GetTraceGraphInput { + s.NextToken = &v + return s +} + +// SetTraceIds sets the TraceIds field's value. +func (s *GetTraceGraphInput) SetTraceIds(v []*string) *GetTraceGraphInput { + s.TraceIds = v + return s +} + +type GetTraceGraphOutput struct { + _ struct{} `type:"structure"` + + // Pagination token. + NextToken *string `type:"string"` + + // The services that have processed one of the specified requests. + Services []*Service `type:"list"` +} + +// String returns the string representation +func (s GetTraceGraphOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTraceGraphOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTraceGraphOutput) SetNextToken(v string) *GetTraceGraphOutput { + s.NextToken = &v + return s +} + +// SetServices sets the Services field's value. +func (s *GetTraceGraphOutput) SetServices(v []*Service) *GetTraceGraphOutput { + s.Services = v + return s +} + +type GetTraceSummariesInput struct { + _ struct{} `type:"structure"` + + // The end of the time frame for which to retrieve traces. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` + + // Specify a filter expression to retrieve trace summaries for services or requests + // that meet certain requirements. + FilterExpression *string `type:"string"` + + // Specify the pagination token returned by a previous request to retrieve the + // next page of results. + NextToken *string `type:"string"` + + // Set to true to get summaries for only a subset of available traces. + Sampling *bool `type:"boolean"` + + // A parameter to indicate whether to enable sampling on trace summaries. Input + // parameters are Name and Value. + SamplingStrategy *SamplingStrategy `type:"structure"` + + // The start of the time frame for which to retrieve traces. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` + + // A parameter to indicate whether to query trace summaries by TraceId or Event + // time. + TimeRangeType *string `type:"string" enum:"TimeRangeType"` +} + +// String returns the string representation +func (s GetTraceSummariesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTraceSummariesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTraceSummariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTraceSummariesInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *GetTraceSummariesInput) SetEndTime(v time.Time) *GetTraceSummariesInput { + s.EndTime = &v + return s +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *GetTraceSummariesInput) SetFilterExpression(v string) *GetTraceSummariesInput { + s.FilterExpression = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTraceSummariesInput) SetNextToken(v string) *GetTraceSummariesInput { + s.NextToken = &v + return s +} + +// SetSampling sets the Sampling field's value. +func (s *GetTraceSummariesInput) SetSampling(v bool) *GetTraceSummariesInput { + s.Sampling = &v + return s +} + +// SetSamplingStrategy sets the SamplingStrategy field's value. +func (s *GetTraceSummariesInput) SetSamplingStrategy(v *SamplingStrategy) *GetTraceSummariesInput { + s.SamplingStrategy = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetTraceSummariesInput) SetStartTime(v time.Time) *GetTraceSummariesInput { + s.StartTime = &v + return s +} + +// SetTimeRangeType sets the TimeRangeType field's value. +func (s *GetTraceSummariesInput) SetTimeRangeType(v string) *GetTraceSummariesInput { + s.TimeRangeType = &v + return s +} + +type GetTraceSummariesOutput struct { + _ struct{} `type:"structure"` + + // The start time of this page of results. + ApproximateTime *time.Time `type:"timestamp"` + + // If the requested time frame contained more than one page of results, you + // can use this token to retrieve the next page. The first page contains the + // most recent results, closest to the end of the time frame. + NextToken *string `type:"string"` + + // Trace IDs and annotations for traces that were found in the specified time + // frame. + TraceSummaries []*TraceSummary `type:"list"` + + // The total number of traces processed, including traces that did not match + // the specified filter expression. + TracesProcessedCount *int64 `type:"long"` +} + +// String returns the string representation +func (s GetTraceSummariesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTraceSummariesOutput) GoString() string { + return s.String() +} + +// SetApproximateTime sets the ApproximateTime field's value. +func (s *GetTraceSummariesOutput) SetApproximateTime(v time.Time) *GetTraceSummariesOutput { + s.ApproximateTime = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTraceSummariesOutput) SetNextToken(v string) *GetTraceSummariesOutput { + s.NextToken = &v + return s +} + +// SetTraceSummaries sets the TraceSummaries field's value. +func (s *GetTraceSummariesOutput) SetTraceSummaries(v []*TraceSummary) *GetTraceSummariesOutput { + s.TraceSummaries = v + return s +} + +// SetTracesProcessedCount sets the TracesProcessedCount field's value. +func (s *GetTraceSummariesOutput) SetTracesProcessedCount(v int64) *GetTraceSummariesOutput { + s.TracesProcessedCount = &v + return s +} + +// Details and metadata for a group. +type Group struct { + _ struct{} `type:"structure"` + + // The filter expression defining the parameters to include traces. + FilterExpression *string `type:"string"` + + // The Amazon Resource Name (ARN) of the group generated based on the GroupName. + GroupARN *string `type:"string"` + + // The unique case-sensitive name of the group. + GroupName *string `type:"string"` + + // The structure containing configurations related to insights. + // + // * The InsightsEnabled boolean can be set to true to enable insights for + // the group or false to disable insights for the group. + // + // * The NotifcationsEnabled boolean can be set to true to enable insights + // notifications through Amazon EventBridge for the group. + InsightsConfiguration *InsightsConfiguration `type:"structure"` +} + +// String returns the string representation +func (s Group) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Group) GoString() string { + return s.String() +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *Group) SetFilterExpression(v string) *Group { + s.FilterExpression = &v + return s +} + +// SetGroupARN sets the GroupARN field's value. +func (s *Group) SetGroupARN(v string) *Group { + s.GroupARN = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *Group) SetGroupName(v string) *Group { + s.GroupName = &v + return s +} + +// SetInsightsConfiguration sets the InsightsConfiguration field's value. +func (s *Group) SetInsightsConfiguration(v *InsightsConfiguration) *Group { + s.InsightsConfiguration = v + return s +} + +// Details for a group without metadata. +type GroupSummary struct { + _ struct{} `type:"structure"` + + // The filter expression defining the parameters to include traces. + FilterExpression *string `type:"string"` + + // The ARN of the group generated based on the GroupName. + GroupARN *string `type:"string"` + + // The unique case-sensitive name of the group. + GroupName *string `type:"string"` + + // The structure containing configurations related to insights. + // + // * The InsightsEnabled boolean can be set to true to enable insights for + // the group or false to disable insights for the group. + // + // * The NotificationsEnabled boolean can be set to true to enable insights + // notifications. Notifications can only be enabled on a group with InsightsEnabled + // set to true. + InsightsConfiguration *InsightsConfiguration `type:"structure"` +} + +// String returns the string representation +func (s GroupSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupSummary) GoString() string { + return s.String() +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *GroupSummary) SetFilterExpression(v string) *GroupSummary { + s.FilterExpression = &v + return s +} + +// SetGroupARN sets the GroupARN field's value. +func (s *GroupSummary) SetGroupARN(v string) *GroupSummary { + s.GroupARN = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *GroupSummary) SetGroupName(v string) *GroupSummary { + s.GroupName = &v + return s +} + +// SetInsightsConfiguration sets the InsightsConfiguration field's value. +func (s *GroupSummary) SetInsightsConfiguration(v *InsightsConfiguration) *GroupSummary { + s.InsightsConfiguration = v + return s +} + +// An entry in a histogram for a statistic. A histogram maps the range of observed +// values on the X axis, and the prevalence of each value on the Y axis. +type HistogramEntry struct { + _ struct{} `type:"structure"` + + // The prevalence of the entry. + Count *int64 `type:"integer"` + + // The value of the entry. + Value *float64 `type:"double"` +} + +// String returns the string representation +func (s HistogramEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HistogramEntry) GoString() string { + return s.String() +} + +// SetCount sets the Count field's value. +func (s *HistogramEntry) SetCount(v int64) *HistogramEntry { + s.Count = &v + return s +} + +// SetValue sets the Value field's value. +func (s *HistogramEntry) SetValue(v float64) *HistogramEntry { + s.Value = &v + return s +} + +// Information about an HTTP request. +type Http struct { + _ struct{} `type:"structure"` + + // The IP address of the requestor. + ClientIp *string `type:"string"` + + // The request method. + HttpMethod *string `type:"string"` + + // The response status. + HttpStatus *int64 `type:"integer"` + + // The request URL. + HttpURL *string `type:"string"` + + // The request's user agent string. + UserAgent *string `type:"string"` +} + +// String returns the string representation +func (s Http) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Http) GoString() string { + return s.String() +} + +// SetClientIp sets the ClientIp field's value. +func (s *Http) SetClientIp(v string) *Http { + s.ClientIp = &v + return s +} + +// SetHttpMethod sets the HttpMethod field's value. +func (s *Http) SetHttpMethod(v string) *Http { + s.HttpMethod = &v + return s +} + +// SetHttpStatus sets the HttpStatus field's value. +func (s *Http) SetHttpStatus(v int64) *Http { + s.HttpStatus = &v + return s +} + +// SetHttpURL sets the HttpURL field's value. +func (s *Http) SetHttpURL(v string) *Http { + s.HttpURL = &v + return s +} + +// SetUserAgent sets the UserAgent field's value. +func (s *Http) SetUserAgent(v string) *Http { + s.UserAgent = &v + return s +} + +// When fault rates go outside of the expected range, X-Ray creates an insight. +// Insights tracks emergent issues within your applications. +type Insight struct { + _ struct{} `type:"structure"` + + // The categories that label and describe the type of insight. + Categories []*string `type:"list"` + + // The impact statistics of the client side service. This includes the number + // of requests to the client service and whether the requests were faults or + // okay. + ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"` + + // The time, in Unix seconds, at which the insight ended. + EndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the group that the insight belongs to. + GroupARN *string `min:"1" type:"string"` + + // The name of the group that the insight belongs to. + GroupName *string `min:"1" type:"string"` + + // The insights unique identifier. + InsightId *string `type:"string"` + + RootCauseServiceId *ServiceId `type:"structure"` + + // The impact statistics of the root cause service. This includes the number + // of requests to the client service and whether the requests were faults or + // okay. + RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"` + + // The time, in Unix seconds, at which the insight began. + StartTime *time.Time `type:"timestamp"` + + // The current state of the insight. + State *string `type:"string" enum:"InsightState"` + + // A brief description of the insight. + Summary *string `type:"string"` + + // The service within the insight that is most impacted by the incident. + TopAnomalousServices []*AnomalousService `type:"list"` +} + +// String returns the string representation +func (s Insight) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Insight) GoString() string { + return s.String() +} + +// SetCategories sets the Categories field's value. +func (s *Insight) SetCategories(v []*string) *Insight { + s.Categories = v + return s +} + +// SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value. +func (s *Insight) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *Insight { + s.ClientRequestImpactStatistics = v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *Insight) SetEndTime(v time.Time) *Insight { + s.EndTime = &v + return s +} + +// SetGroupARN sets the GroupARN field's value. +func (s *Insight) SetGroupARN(v string) *Insight { + s.GroupARN = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *Insight) SetGroupName(v string) *Insight { + s.GroupName = &v + return s +} + +// SetInsightId sets the InsightId field's value. +func (s *Insight) SetInsightId(v string) *Insight { + s.InsightId = &v + return s +} + +// SetRootCauseServiceId sets the RootCauseServiceId field's value. +func (s *Insight) SetRootCauseServiceId(v *ServiceId) *Insight { + s.RootCauseServiceId = v + return s +} + +// SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value. +func (s *Insight) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *Insight { + s.RootCauseServiceRequestImpactStatistics = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *Insight) SetStartTime(v time.Time) *Insight { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *Insight) SetState(v string) *Insight { + s.State = &v + return s +} + +// SetSummary sets the Summary field's value. +func (s *Insight) SetSummary(v string) *Insight { + s.Summary = &v + return s +} + +// SetTopAnomalousServices sets the TopAnomalousServices field's value. +func (s *Insight) SetTopAnomalousServices(v []*AnomalousService) *Insight { + s.TopAnomalousServices = v + return s +} + +// X-Ray reevaluates insights periodically until they are resolved, and records +// each intermediate state in an event. You can review incident events in the +// Impact Timeline on the Inspect page in the X-Ray console. +type InsightEvent struct { + _ struct{} `type:"structure"` + + // The impact statistics of the client side service. This includes the number + // of requests to the client service and whether the requests were faults or + // okay. + ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"` + + // The time, in Unix seconds, at which the event was recorded. + EventTime *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the group generated based on the GroupName. - GroupARN *string `type:"string"` + // The impact statistics of the root cause service. This includes the number + // of requests to the client service and whether the requests were faults or + // okay. + RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"` - // The unique case-sensitive name of the group. - GroupName *string `type:"string"` + // A brief description of the event. + Summary *string `type:"string"` - // The structure containing configurations related to insights. - // - // * The InsightsEnabled boolean can be set to true to enable insights for - // the group or false to disable insights for the group. - // - // * The NotifcationsEnabled boolean can be set to true to enable insights - // notifications through Amazon EventBridge for the group. - InsightsConfiguration *InsightsConfiguration `type:"structure"` + // The service during the event that is most impacted by the incident. + TopAnomalousServices []*AnomalousService `type:"list"` } // String returns the string representation -func (s Group) String() string { +func (s InsightEvent) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Group) GoString() string { +func (s InsightEvent) GoString() string { return s.String() } -// SetFilterExpression sets the FilterExpression field's value. -func (s *Group) SetFilterExpression(v string) *Group { - s.FilterExpression = &v +// SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value. +func (s *InsightEvent) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *InsightEvent { + s.ClientRequestImpactStatistics = v return s } -// SetGroupARN sets the GroupARN field's value. -func (s *Group) SetGroupARN(v string) *Group { - s.GroupARN = &v +// SetEventTime sets the EventTime field's value. +func (s *InsightEvent) SetEventTime(v time.Time) *InsightEvent { + s.EventTime = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *Group) SetGroupName(v string) *Group { - s.GroupName = &v +// SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value. +func (s *InsightEvent) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *InsightEvent { + s.RootCauseServiceRequestImpactStatistics = v return s } -// SetInsightsConfiguration sets the InsightsConfiguration field's value. -func (s *Group) SetInsightsConfiguration(v *InsightsConfiguration) *Group { - s.InsightsConfiguration = v +// SetSummary sets the Summary field's value. +func (s *InsightEvent) SetSummary(v string) *InsightEvent { + s.Summary = &v return s } -// Details for a group without metadata. -type GroupSummary struct { +// SetTopAnomalousServices sets the TopAnomalousServices field's value. +func (s *InsightEvent) SetTopAnomalousServices(v []*AnomalousService) *InsightEvent { + s.TopAnomalousServices = v + return s +} + +// The connection between two service in an insight impact graph. +type InsightImpactGraphEdge struct { _ struct{} `type:"structure"` - // The filter expression defining the parameters to include traces. - FilterExpression *string `type:"string"` + // Identifier of the edge. Unique within a service map. + ReferenceId *int64 `type:"integer"` +} - // The ARN of the group generated based on the GroupName. - GroupARN *string `type:"string"` +// String returns the string representation +func (s InsightImpactGraphEdge) String() string { + return awsutil.Prettify(s) +} - // The unique case-sensitive name of the group. - GroupName *string `type:"string"` +// GoString returns the string representation +func (s InsightImpactGraphEdge) GoString() string { + return s.String() +} - // The structure containing configurations related to insights. +// SetReferenceId sets the ReferenceId field's value. +func (s *InsightImpactGraphEdge) SetReferenceId(v int64) *InsightImpactGraphEdge { + s.ReferenceId = &v + return s +} + +// Information about an application that processed requests, users that made +// requests, or downstream services, resources, and applications that an application +// used. +type InsightImpactGraphService struct { + _ struct{} `type:"structure"` + + // Identifier of the AWS account in which the service runs. + AccountId *string `type:"string"` + + // Connections to downstream services. + Edges []*InsightImpactGraphEdge `type:"list"` + + // The canonical name of the service. + Name *string `type:"string"` + + // A list of names for the service, including the canonical name. + Names []*string `type:"list"` + + // Identifier for the service. Unique within the service map. + ReferenceId *int64 `type:"integer"` + + // Identifier for the service. Unique within the service map. // - // * The InsightsEnabled boolean can be set to true to enable insights for - // the group or false to disable insights for the group. + // * AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance + // for an application running on Amazon EC2 or AWS::DynamoDB::Table for an + // Amazon DynamoDB table that the application used. // - // * The NotificationsEnabled boolean can be set to true to enable insights - // notifications. Notifications can only be enabled on a group with InsightsEnabled - // set to true. - InsightsConfiguration *InsightsConfiguration `type:"structure"` + // * AWS Service - The type of an AWS service. For example, AWS::DynamoDB + // for downstream calls to Amazon DynamoDB that didn't target a specific + // table. + // + // * AWS Service - The type of an AWS service. For example, AWS::DynamoDB + // for downstream calls to Amazon DynamoDB that didn't target a specific + // table. + // + // * remote - A downstream service of indeterminate type. + Type *string `type:"string"` } // String returns the string representation -func (s GroupSummary) String() string { +func (s InsightImpactGraphService) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GroupSummary) GoString() string { +func (s InsightImpactGraphService) GoString() string { return s.String() } -// SetFilterExpression sets the FilterExpression field's value. -func (s *GroupSummary) SetFilterExpression(v string) *GroupSummary { - s.FilterExpression = &v +// SetAccountId sets the AccountId field's value. +func (s *InsightImpactGraphService) SetAccountId(v string) *InsightImpactGraphService { + s.AccountId = &v return s } -// SetGroupARN sets the GroupARN field's value. -func (s *GroupSummary) SetGroupARN(v string) *GroupSummary { - s.GroupARN = &v +// SetEdges sets the Edges field's value. +func (s *InsightImpactGraphService) SetEdges(v []*InsightImpactGraphEdge) *InsightImpactGraphService { + s.Edges = v return s } -// SetGroupName sets the GroupName field's value. -func (s *GroupSummary) SetGroupName(v string) *GroupSummary { - s.GroupName = &v +// SetName sets the Name field's value. +func (s *InsightImpactGraphService) SetName(v string) *InsightImpactGraphService { + s.Name = &v return s } -// SetInsightsConfiguration sets the InsightsConfiguration field's value. -func (s *GroupSummary) SetInsightsConfiguration(v *InsightsConfiguration) *GroupSummary { - s.InsightsConfiguration = v +// SetNames sets the Names field's value. +func (s *InsightImpactGraphService) SetNames(v []*string) *InsightImpactGraphService { + s.Names = v return s } -// An entry in a histogram for a statistic. A histogram maps the range of observed -// values on the X axis, and the prevalence of each value on the Y axis. -type HistogramEntry struct { +// SetReferenceId sets the ReferenceId field's value. +func (s *InsightImpactGraphService) SetReferenceId(v int64) *InsightImpactGraphService { + s.ReferenceId = &v + return s +} + +// SetType sets the Type field's value. +func (s *InsightImpactGraphService) SetType(v string) *InsightImpactGraphService { + s.Type = &v + return s +} + +// Information that describes an insight. +type InsightSummary struct { _ struct{} `type:"structure"` - // The prevalence of the entry. - Count *int64 `type:"integer"` + // Categories The categories that label and describe the type of insight. + Categories []*string `type:"list"` - // The value of the entry. - Value *float64 `type:"double"` + // The impact statistics of the client side service. This includes the number + // of requests to the client service and whether the requests were faults or + // okay. + ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"` + + // The time, in Unix seconds, at which the insight ended. + EndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the group that the insight belongs to. + GroupARN *string `min:"1" type:"string"` + + // The name of the group that the insight belongs to. + GroupName *string `min:"1" type:"string"` + + // The insights unique identifier. + InsightId *string `type:"string"` + + // The time, in Unix seconds, that the insight was last updated. + LastUpdateTime *time.Time `type:"timestamp"` + + RootCauseServiceId *ServiceId `type:"structure"` + + // The impact statistics of the root cause service. This includes the number + // of requests to the client service and whether the requests were faults or + // okay. + RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"` + + // The time, in Unix seconds, at which the insight began. + StartTime *time.Time `type:"timestamp"` + + // The current state of the insight. + State *string `type:"string" enum:"InsightState"` + + // A brief description of the insight. + Summary *string `type:"string"` + + // The service within the insight that is most impacted by the incident. + TopAnomalousServices []*AnomalousService `type:"list"` } // String returns the string representation -func (s HistogramEntry) String() string { +func (s InsightSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HistogramEntry) GoString() string { +func (s InsightSummary) GoString() string { return s.String() } -// SetCount sets the Count field's value. -func (s *HistogramEntry) SetCount(v int64) *HistogramEntry { - s.Count = &v +// SetCategories sets the Categories field's value. +func (s *InsightSummary) SetCategories(v []*string) *InsightSummary { + s.Categories = v return s } -// SetValue sets the Value field's value. -func (s *HistogramEntry) SetValue(v float64) *HistogramEntry { - s.Value = &v +// SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value. +func (s *InsightSummary) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *InsightSummary { + s.ClientRequestImpactStatistics = v return s } -// Information about an HTTP request. -type Http struct { - _ struct{} `type:"structure"` - - // The IP address of the requestor. - ClientIp *string `type:"string"` - - // The request method. - HttpMethod *string `type:"string"` +// SetEndTime sets the EndTime field's value. +func (s *InsightSummary) SetEndTime(v time.Time) *InsightSummary { + s.EndTime = &v + return s +} - // The response status. - HttpStatus *int64 `type:"integer"` +// SetGroupARN sets the GroupARN field's value. +func (s *InsightSummary) SetGroupARN(v string) *InsightSummary { + s.GroupARN = &v + return s +} - // The request URL. - HttpURL *string `type:"string"` +// SetGroupName sets the GroupName field's value. +func (s *InsightSummary) SetGroupName(v string) *InsightSummary { + s.GroupName = &v + return s +} - // The request's user agent string. - UserAgent *string `type:"string"` +// SetInsightId sets the InsightId field's value. +func (s *InsightSummary) SetInsightId(v string) *InsightSummary { + s.InsightId = &v + return s } -// String returns the string representation -func (s Http) String() string { - return awsutil.Prettify(s) +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *InsightSummary) SetLastUpdateTime(v time.Time) *InsightSummary { + s.LastUpdateTime = &v + return s } -// GoString returns the string representation -func (s Http) GoString() string { - return s.String() +// SetRootCauseServiceId sets the RootCauseServiceId field's value. +func (s *InsightSummary) SetRootCauseServiceId(v *ServiceId) *InsightSummary { + s.RootCauseServiceId = v + return s } -// SetClientIp sets the ClientIp field's value. -func (s *Http) SetClientIp(v string) *Http { - s.ClientIp = &v +// SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value. +func (s *InsightSummary) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *InsightSummary { + s.RootCauseServiceRequestImpactStatistics = v return s } -// SetHttpMethod sets the HttpMethod field's value. -func (s *Http) SetHttpMethod(v string) *Http { - s.HttpMethod = &v +// SetStartTime sets the StartTime field's value. +func (s *InsightSummary) SetStartTime(v time.Time) *InsightSummary { + s.StartTime = &v return s } -// SetHttpStatus sets the HttpStatus field's value. -func (s *Http) SetHttpStatus(v int64) *Http { - s.HttpStatus = &v +// SetState sets the State field's value. +func (s *InsightSummary) SetState(v string) *InsightSummary { + s.State = &v return s } -// SetHttpURL sets the HttpURL field's value. -func (s *Http) SetHttpURL(v string) *Http { - s.HttpURL = &v +// SetSummary sets the Summary field's value. +func (s *InsightSummary) SetSummary(v string) *InsightSummary { + s.Summary = &v return s } -// SetUserAgent sets the UserAgent field's value. -func (s *Http) SetUserAgent(v string) *Http { - s.UserAgent = &v +// SetTopAnomalousServices sets the TopAnomalousServices field's value. +func (s *InsightSummary) SetTopAnomalousServices(v []*AnomalousService) *InsightSummary { + s.TopAnomalousServices = v return s } @@ -5167,6 +6589,48 @@ func (s *PutTraceSegmentsOutput) SetUnprocessedTraceSegments(v []*UnprocessedTra return s } +// Statistics that describe how the incident has impacted a service. +type RequestImpactStatistics struct { + _ struct{} `type:"structure"` + + // The number of requests that have resulted in a fault, + FaultCount *int64 `type:"long"` + + // The number of successful requests. + OkCount *int64 `type:"long"` + + // The total number of requests to the service. + TotalCount *int64 `type:"long"` +} + +// String returns the string representation +func (s RequestImpactStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RequestImpactStatistics) GoString() string { + return s.String() +} + +// SetFaultCount sets the FaultCount field's value. +func (s *RequestImpactStatistics) SetFaultCount(v int64) *RequestImpactStatistics { + s.FaultCount = &v + return s +} + +// SetOkCount sets the OkCount field's value. +func (s *RequestImpactStatistics) SetOkCount(v int64) *RequestImpactStatistics { + s.OkCount = &v + return s +} + +// SetTotalCount sets the TotalCount field's value. +func (s *RequestImpactStatistics) SetTotalCount(v int64) *RequestImpactStatistics { + s.TotalCount = &v + return s +} + // A list of resources ARNs corresponding to the segments in a trace. type ResourceARNDetail struct { _ struct{} `type:"structure"` @@ -6749,6 +8213,9 @@ type TimeSeriesServiceStatistics struct { // The response time histogram for the selected entities. ResponseTimeHistogram []*HistogramEntry `type:"list"` + // The forecasted high and low fault count values. + ServiceForecastStatistics *ForecastStatistics `type:"structure"` + // Response statistics for a service. ServiceSummaryStatistics *ServiceStatistics `type:"structure"` @@ -6778,6 +8245,12 @@ func (s *TimeSeriesServiceStatistics) SetResponseTimeHistogram(v []*HistogramEnt return s } +// SetServiceForecastStatistics sets the ServiceForecastStatistics field's value. +func (s *TimeSeriesServiceStatistics) SetServiceForecastStatistics(v *ForecastStatistics) *TimeSeriesServiceStatistics { + s.ServiceForecastStatistics = v + return s +} + // SetServiceSummaryStatistics sets the ServiceSummaryStatistics field's value. func (s *TimeSeriesServiceStatistics) SetServiceSummaryStatistics(v *ServiceStatistics) *TimeSeriesServiceStatistics { s.ServiceSummaryStatistics = v @@ -7521,6 +8994,34 @@ func EncryptionType_Values() []string { } } +const ( + // InsightCategoryFault is a InsightCategory enum value + InsightCategoryFault = "FAULT" +) + +// InsightCategory_Values returns all elements of the InsightCategory enum +func InsightCategory_Values() []string { + return []string{ + InsightCategoryFault, + } +} + +const ( + // InsightStateActive is a InsightState enum value + InsightStateActive = "ACTIVE" + + // InsightStateClosed is a InsightState enum value + InsightStateClosed = "CLOSED" +) + +// InsightState_Values returns all elements of the InsightState enum +func InsightState_Values() []string { + return []string{ + InsightStateActive, + InsightStateClosed, + } +} + const ( // SamplingStrategyNamePartialScan is a SamplingStrategyName enum value SamplingStrategyNamePartialScan = "PartialScan" diff --git a/service/xray/xrayiface/interface.go b/service/xray/xrayiface/interface.go index 06f13714837..af6a7ca7346 100644 --- a/service/xray/xrayiface/interface.go +++ b/service/xray/xrayiface/interface.go @@ -98,6 +98,28 @@ type XRayAPI interface { GetGroupsPages(*xray.GetGroupsInput, func(*xray.GetGroupsOutput, bool) bool) error GetGroupsPagesWithContext(aws.Context, *xray.GetGroupsInput, func(*xray.GetGroupsOutput, bool) bool, ...request.Option) error + GetInsight(*xray.GetInsightInput) (*xray.GetInsightOutput, error) + GetInsightWithContext(aws.Context, *xray.GetInsightInput, ...request.Option) (*xray.GetInsightOutput, error) + GetInsightRequest(*xray.GetInsightInput) (*request.Request, *xray.GetInsightOutput) + + GetInsightEvents(*xray.GetInsightEventsInput) (*xray.GetInsightEventsOutput, error) + GetInsightEventsWithContext(aws.Context, *xray.GetInsightEventsInput, ...request.Option) (*xray.GetInsightEventsOutput, error) + GetInsightEventsRequest(*xray.GetInsightEventsInput) (*request.Request, *xray.GetInsightEventsOutput) + + GetInsightEventsPages(*xray.GetInsightEventsInput, func(*xray.GetInsightEventsOutput, bool) bool) error + GetInsightEventsPagesWithContext(aws.Context, *xray.GetInsightEventsInput, func(*xray.GetInsightEventsOutput, bool) bool, ...request.Option) error + + GetInsightImpactGraph(*xray.GetInsightImpactGraphInput) (*xray.GetInsightImpactGraphOutput, error) + GetInsightImpactGraphWithContext(aws.Context, *xray.GetInsightImpactGraphInput, ...request.Option) (*xray.GetInsightImpactGraphOutput, error) + GetInsightImpactGraphRequest(*xray.GetInsightImpactGraphInput) (*request.Request, *xray.GetInsightImpactGraphOutput) + + GetInsightSummaries(*xray.GetInsightSummariesInput) (*xray.GetInsightSummariesOutput, error) + GetInsightSummariesWithContext(aws.Context, *xray.GetInsightSummariesInput, ...request.Option) (*xray.GetInsightSummariesOutput, error) + GetInsightSummariesRequest(*xray.GetInsightSummariesInput) (*request.Request, *xray.GetInsightSummariesOutput) + + GetInsightSummariesPages(*xray.GetInsightSummariesInput, func(*xray.GetInsightSummariesOutput, bool) bool) error + GetInsightSummariesPagesWithContext(aws.Context, *xray.GetInsightSummariesInput, func(*xray.GetInsightSummariesOutput, bool) bool, ...request.Option) error + GetSamplingRules(*xray.GetSamplingRulesInput) (*xray.GetSamplingRulesOutput, error) GetSamplingRulesWithContext(aws.Context, *xray.GetSamplingRulesInput, ...request.Option) (*xray.GetSamplingRulesOutput, error) GetSamplingRulesRequest(*xray.GetSamplingRulesInput) (*request.Request, *xray.GetSamplingRulesOutput)