diff --git a/CHANGELOG.md b/CHANGELOG.md index b0ceee1a13..e304b383ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.44.72 (2022-08-09) +=== + +### Service Client Updates +* `service/location`: Updates service API and documentation +* `service/monitoring`: Updates service API and documentation + * Various quota increases related to dimensions and custom metrics +* `service/sagemaker`: Updates service API and documentation + * Amazon SageMaker Automatic Model Tuning now supports specifying multiple alternate EC2 instance types to make tuning jobs more robust when the preferred instance type is not available due to insufficient capacity. +* `service/sagemaker-a2i-runtime`: Updates service API + Release v1.44.71 (2022-08-08) === diff --git a/aws/version.go b/aws/version.go index 6e6a448707..a1e5a94a5d 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.44.71" +const SDKVersion = "1.44.72" diff --git a/models/apis/location/2020-11-19/api-2.json b/models/apis/location/2020-11-19/api-2.json index b5ffdf56dd..46332daa98 100644 --- a/models/apis/location/2020-11-19/api-2.json +++ b/models/apis/location/2020-11-19/api-2.json @@ -1513,6 +1513,18 @@ "Weight":{"shape":"TruckWeight"} } }, + "Circle":{ + "type":"structure", + "required":[ + "Center", + "Radius" + ], + "members":{ + "Center":{"shape":"Position"}, + "Radius":{"shape":"Double"} + }, + "sensitive":true + }, "ConflictException":{ "type":"structure", "required":["Message"], @@ -2058,6 +2070,7 @@ "GeofenceGeometry":{ "type":"structure", "members":{ + "Circle":{"shape":"Circle"}, "Polygon":{"shape":"LinearRings"} } }, diff --git a/models/apis/location/2020-11-19/docs-2.json b/models/apis/location/2020-11-19/docs-2.json index 45f7b7fb4a..0803f7c517 100644 --- a/models/apis/location/2020-11-19/docs-2.json +++ b/models/apis/location/2020-11-19/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

Suite of geospatial services including Maps, Places, Routes, Tracking, and Geofencing

", + "service": "

\"Suite of geospatial services including Maps, Places, Routes, Tracking, and Geofencing\"

", "operations": { "AssociateTrackerConsumer": "

Creates an association between a geofence collection and a tracker resource. This allows the tracker resource to communicate location data to the linked geofence collection.

You can associate up to five geofence collections to each tracker resource.

Currently not supported — Cross-account configurations, such as creating associations between a tracker resource in one account and a geofence collection in another account.

", "BatchDeleteDevicePositionHistory": "

Deletes the position history of one or more devices from a tracker resource.

", @@ -9,7 +9,7 @@ "BatchGetDevicePosition": "

Lists the latest device positions for requested devices.

", "BatchPutGeofence": "

A batch request for storing geofence geometries into a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.

", "BatchUpdateDevicePosition": "

Uploads position update data for one or more devices to a tracker resource. Amazon Location uses the data when it reports the last known device position and position history. Amazon Location retains location data for 30 days.

Position updates are handled based on the PositionFiltering property of the tracker. When PositionFiltering is set to TimeBased, updates are evaluated against linked geofence collections, and location data is stored at a maximum of one position per 30 second interval. If your update frequency is more often than every 30 seconds, only one update per 30 seconds is stored for each unique device ID.

When PositionFiltering is set to DistanceBased filtering, location data is stored and evaluated against linked geofence collections only if the device has moved more than 30 m (98.4 ft).

When PositionFiltering is set to AccuracyBased filtering, location data is stored and evaluated against linked geofence collections only if the device has moved more than the measured accuracy. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is neither stored or evaluated if the device has moved less than 15 m. If PositionFiltering is set to AccuracyBased filtering, Amazon Location uses the default value { \"Horizontal\": 0} when accuracy is not provided on a DevicePositionUpdate.

", - "CalculateRoute": "

Calculates a route given the following required parameters: DeparturePosition and DestinationPosition. Requires that you first create a route calculator resource.

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating the route.

Additional options include:

", + "CalculateRoute": "

Calculates a route given the following required parameters: DeparturePosition and DestinationPosition. Requires that you first create a route calculator resource.

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating the route.

Additional options include:

", "CalculateRouteMatrix": "

Calculates a route matrix given the following required parameters: DeparturePositions and DestinationPositions. CalculateRouteMatrix calculates routes and returns the travel time and travel distance from each departure position to each destination position in the request. For example, given departure positions A and B, and destination positions X and Y, CalculateRouteMatrix will return time and distance for routes from A to X, A to Y, B to X, and B to Y (in that order). The number of results returned (and routes calculated) will be the number of DeparturePositions times the number of DestinationPositions.

Your account is charged for each route calculated, not the number of requests.

Requires that you first create a route calculator resource.

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating routes.

Additional options include:

", "CreateGeofenceCollection": "

Creates a geofence collection, which manages and stores geofences.

", "CreateMap": "

Creates a map resource in your AWS account, which provides map tiles of different styles sourced from global location data providers.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you may only use HERE as your geolocation provider. See section 82 of the AWS service terms for more details.

", @@ -445,6 +445,12 @@ "CalculateRouteRequest$TruckModeOptions": "

Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

Requirements: TravelMode must be specified as Truck.

" } }, + "Circle": { + "base": "

A circle on the earth, as defined by a center point and a radius.

", + "refs": { + "GeofenceGeometry$Circle": "

A circle on the earth, as defined by a center point and a radius.

" + } + }, "ConflictException": { "base": "

The request was unsuccessful because of a conflict.

", "refs": { @@ -672,16 +678,17 @@ "base": null, "refs": { "BoundingBox$member": null, + "Circle$Radius": "

The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers).

", "Position$member": null } }, "GeofenceGeometry": { - "base": "

Contains the geofence geometry details.

Amazon Location doesn't currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

", + "base": "

Contains the geofence geometry details.

A geofence geometry is made up of either a polygon or a circle. Can be either a polygon or a circle. Including both will return a validation error.

Amazon Location doesn't currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

", "refs": { - "BatchPutGeofenceRequestEntry$Geometry": "

Contains the polygon details to specify the position of the geofence.

Each geofence polygon can have a maximum of 1,000 vertices.

", - "GetGeofenceResponse$Geometry": "

Contains the geofence geometry details describing a polygon.

", - "ListGeofenceResponseEntry$Geometry": "

Contains the geofence geometry details describing a polygon.

", - "PutGeofenceRequest$Geometry": "

Contains the polygon details to specify the position of the geofence.

Each geofence polygon can have a maximum of 1,000 vertices.

" + "BatchPutGeofenceRequestEntry$Geometry": "

Contains the details of the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.

Each geofence polygon can have a maximum of 1,000 vertices.

", + "GetGeofenceResponse$Geometry": "

Contains the geofence geometry details describing a polygon or a circle.

", + "ListGeofenceResponseEntry$Geometry": "

Contains the geofence geometry details describing a polygon or a circle.

", + "PutGeofenceRequest$Geometry": "

Contains the details to specify the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.

Each geofence polygon can have a maximum of 1,000 vertices.

" } }, "GetDevicePositionHistoryRequest": { @@ -900,7 +907,7 @@ "LinearRings": { "base": null, "refs": { - "GeofenceGeometry$Polygon": "

An array of 1 or more linear rings. A linear ring is an array of 4 or more vertices, where the first and last vertex are the same to form a closed boundary. Each vertex is a 2-dimensional point of the form: [longitude, latitude].

The first linear ring is an outer ring, describing the polygon's boundary. Subsequent linear rings may be inner or outer rings to describe holes and islands. Outer rings must list their vertices in counter-clockwise order around the ring's center, where the left side is the polygon's exterior. Inner rings must list their vertices in clockwise order, where the left side is the polygon's interior.

" + "GeofenceGeometry$Polygon": "

An array of 1 or more linear rings. A linear ring is an array of 4 or more vertices, where the first and last vertex are the same to form a closed boundary. Each vertex is a 2-dimensional point of the form: [longitude, latitude].

The first linear ring is an outer ring, describing the polygon's boundary. Subsequent linear rings may be inner or outer rings to describe holes and islands. Outer rings must list their vertices in counter-clockwise order around the ring's center, where the left side is the polygon's exterior. Inner rings must list their vertices in clockwise order, where the left side is the polygon's interior.

A geofence polygon can consist of between 4 and 1,000 vertices.

" } }, "ListDevicePositionsRequest": { @@ -1135,7 +1142,7 @@ "MapStyle": { "base": null, "refs": { - "MapConfiguration$Style": "

Specifies the map style selected from an available data provider.

Valid Esri map styles:

Valid HERE Technologies map styles:

" + "MapConfiguration$Style": "

Specifies the map style selected from an available data provider.

Valid Esri map styles:

Valid HERE Technologies map styles:

The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

" } }, "Place": { @@ -1170,6 +1177,7 @@ "CalculateRouteRequest$DeparturePosition": "

The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

If you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

", "CalculateRouteRequest$DestinationPosition": "

The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

Valid Values: [-180 to 180,-90 to 90]

", "CalculateRouteRequestWaypointPositionsList$member": null, + "Circle$Center": "

A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude].

", "DevicePosition$Position": "

The last known device position.

", "DevicePositionUpdate$Position": "

The latest device position defined in WGS 84 format: [X or longitude, Y or latitude].

", "GetDevicePositionResponse$Position": "

The last known device position.

", @@ -1588,7 +1596,7 @@ "DescribeRouteCalculatorResponse$DataSource": "

The data provider of traffic and road network data. Indicates one of the available providers:

For more information about data providers, see Amazon Location Service data providers.

", "DescribeTrackerResponse$PricingPlanDataSource": "

No longer used. Always returns an empty string.

", "GetGeofenceResponse$Status": "

Identifies the state of the geofence. A geofence will hold one of the following states:

", - "GetMapGlyphsRequest$FontStack": "

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid fonts stacks for Esri styles:

Valid font stacks for HERE Technologies styles:

", + "GetMapGlyphsRequest$FontStack": "

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid fonts stacks for Esri styles:

Valid font stacks for HERE Technologies styles:

", "GetMapGlyphsResponse$ContentType": "

The map glyph content type. For example, application/octet-stream.

", "GetMapSpritesResponse$ContentType": "

The content type of the sprite sheet and offsets. For example, the sprite sheet content type is image/png, and the sprite offset JSON document is application/json.

", "GetMapStyleDescriptorResponse$ContentType": "

The style descriptor's content type. For example, application/json.

", @@ -1764,7 +1772,7 @@ "base": null, "refs": { "CalculateRouteMatrixRequest$TravelMode": "

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

The TravelMode you specify also determines how you specify route preferences:

Default Value: Car

", - "CalculateRouteRequest$TravelMode": "

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

The TravelMode you specify also determines how you specify route preferences:

Default Value: Car

" + "CalculateRouteRequest$TravelMode": "

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, or Walking as options for the TravelMode.

The TravelMode you specify also determines how you specify route preferences:

Default Value: Car

" } }, "TruckDimensions": { @@ -1776,19 +1784,19 @@ "TruckDimensionsHeightDouble": { "base": null, "refs": { - "TruckDimensions$Height": "

The height of the truck.

" + "TruckDimensions$Height": "

The height of the truck.

For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

" } }, "TruckDimensionsLengthDouble": { "base": null, "refs": { - "TruckDimensions$Length": "

The length of the truck.

" + "TruckDimensions$Length": "

The length of the truck.

For routes calculated with a HERE resource, this value must be between 0 and 300 meters.

" } }, "TruckDimensionsWidthDouble": { "base": null, "refs": { - "TruckDimensions$Width": "

The width of the truck.

" + "TruckDimensions$Width": "

The width of the truck.

For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

" } }, "TruckWeight": { diff --git a/models/apis/monitoring/2010-08-01/api-2.json b/models/apis/monitoring/2010-08-01/api-2.json index 5438209523..8586c06684 100644 --- a/models/apis/monitoring/2010-08-01/api-2.json +++ b/models/apis/monitoring/2010-08-01/api-2.json @@ -1119,13 +1119,13 @@ }, "DimensionValue":{ "type":"string", - "max":255, + "max":1024, "min":1 }, "Dimensions":{ "type":"list", "member":{"shape":"Dimension"}, - "max":10 + "max":30 }, "DisableAlarmActionsInput":{ "type":"structure", @@ -1182,10 +1182,7 @@ "min":1 }, "ExceptionType":{"type":"string"}, - "ExtendedStatistic":{ - "type":"string", - "pattern":"p(\\d{1,2}(\\.\\d{0,2})?|100)" - }, + "ExtendedStatistic":{"type":"string"}, "ExtendedStatistics":{ "type":"list", "member":{"shape":"ExtendedStatistic"}, @@ -1790,7 +1787,7 @@ }, "MetricExpression":{ "type":"string", - "max":1024, + "max":2048, "min":1 }, "MetricId":{ diff --git a/models/apis/monitoring/2010-08-01/docs-2.json b/models/apis/monitoring/2010-08-01/docs-2.json index 1347be0880..f576f41474 100644 --- a/models/apis/monitoring/2010-08-01/docs-2.json +++ b/models/apis/monitoring/2010-08-01/docs-2.json @@ -3,7 +3,7 @@ "service": "

Amazon CloudWatch monitors your Amazon Web Services (Amazon Web Services) resources and the applications you run on Amazon Web Services in real time. You can use CloudWatch to collect and track metrics, which are the variables you want to measure for your resources and applications.

CloudWatch alarms send notifications or automatically change the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon EC2 instances. Then, use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money.

In addition to monitoring the built-in metrics that come with Amazon Web Services, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.

", "operations": { "DeleteAlarms": "

Deletes the specified alarms. You can delete up to 100 alarms in one operation. However, this total can include no more than one composite alarm. For example, you could delete 99 metric alarms and one composite alarms with one operation, but you can't delete two composite alarms with one operation.

In the event of an error, no alarms are deleted.

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

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

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

", - "DeleteAnomalyDetector": "

Deletes the specified anomaly detection model from your account.

", + "DeleteAnomalyDetector": "

Deletes the specified anomaly detection model from your account. For more information about how to delete an anomaly detection model, see Deleting an anomaly detection model in the CloudWatch User Guide.

", "DeleteDashboards": "

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

", "DeleteInsightRules": "

Permanently deletes the specified Contributor Insights rules.

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

", "DeleteMetricStream": "

Permanently deletes the metric stream that you specify.

", @@ -31,7 +31,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:

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

Cross-account alarms

You can set an alarm on metrics in the current account, or in another account. To create a cross-account alarm that watches a metric in a different account, you must have completed the following pre-requisites:

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

", + "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 1 MB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 1000 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 30 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:

", "PutMetricStream": "

Creates or updates a metric stream. Metric streams can automatically stream CloudWatch metrics to Amazon Web Services destinations including Amazon S3 and to many third-party solutions.

For more information, see Using Metric Streams.

To create a metric stream, you must be logged on to an account that has the iam:PassRole permission and either the CloudWatchFullAccess policy or the cloudwatch:PutMetricStream permission.

When you create or update a metric stream, you choose one of the following:

By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use the StatisticsConfigurations parameter to have the metric stream also send additional statistics in the stream. Streaming additional statistics incurs additional costs. For more information, see Amazon CloudWatch Pricing.

When you use PutMetricStream to create a new metric stream, the stream is created in the running state. If you use it to update an existing stream, the state of the stream is not changed.

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

", "StartMetricStreams": "

Starts the streaming of metrics for one or more of your metric streams.

", @@ -504,7 +504,7 @@ } }, "Dimension": { - "base": "

A dimension is a name/value pair that is part of the identity of a metric. Because dimensions are part of the unique identifier for a metric, whenever you add a unique name/value pair to one of your metrics, you are creating a new variation of that metric. For example, many Amazon EC2 metrics publish InstanceId as a dimension name, and the actual instance ID as the value for that dimension.

You can assign up to 10 dimensions to a metric.

", + "base": "

A dimension is a name/value pair that is part of the identity of a metric. Because dimensions are part of the unique identifier for a metric, whenever you add a unique name/value pair to one of your metrics, you are creating a new variation of that metric. For example, many Amazon EC2 metrics publish InstanceId as a dimension name, and the actual instance ID as the value for that dimension.

You can assign up to 30 dimensions to a metric.

", "refs": { "Dimensions$member": null } @@ -1060,7 +1060,7 @@ "MetricData": { "base": null, "refs": { - "PutMetricDataInput$MetricData": "

The data for the metric. The array can include no more than 20 metrics per call.

" + "PutMetricDataInput$MetricData": "

The data for the metric. The array can include no more than 1000 metrics per call.

" } }, "MetricDataQueries": { @@ -1495,7 +1495,7 @@ "MetricAlarm$Unit": "

The unit of the metric associated with the alarm.

", "MetricDatum$Unit": "

When you are using a Put operation, this defines what unit you want to use when storing the metric.

In a Get operation, this displays the unit that is used for the metric.

", "MetricStat$Unit": "

When you are using a Put operation, this defines what unit you want to use when storing the metric.

In a Get operation, if you omit Unit then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

", - "PutMetricAlarmInput$Unit": "

The unit of measure for the statistic. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately.

If you don't specify Unit, CloudWatch retrieves all unit types that have been published for the metric and attempts to evaluate the alarm. Usually, metrics are published with only one unit, so the alarm works as intended.

However, if the metric is published with multiple types of units and you don't specify a unit, the alarm's behavior is not defined and it behaves predictably.

We recommend omitting Unit so that you don't inadvertently specify an incorrect unit that is not published for this metric. Doing so causes the alarm to be stuck in the INSUFFICIENT DATA state.

" + "PutMetricAlarmInput$Unit": "

The unit of measure for the statistic. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately.

If you don't specify Unit, CloudWatch retrieves all unit types that have been published for the metric and attempts to evaluate the alarm. Usually, metrics are published with only one unit, so the alarm works as intended.

However, if the metric is published with multiple types of units and you don't specify a unit, the alarm's behavior is not defined and it behaves unpredictably.

We recommend omitting Unit so that you don't inadvertently specify an incorrect unit that is not published for this metric. Doing so causes the alarm to be stuck in the INSUFFICIENT DATA state.

" } }, "StartMetricStreamsInput": { @@ -1700,7 +1700,7 @@ "Values": { "base": null, "refs": { - "MetricDatum$Values": "

Array of numbers representing the values for the metric during the period. Each unique value is listed just once in this array, and the corresponding number in the Counts array specifies the number of times that value occurred during the period. You can include up to 150 unique values in each PutMetricData action that specifies a Values array.

Although the Values array 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.

" + "MetricDatum$Values": "

Array of numbers representing the values for the metric during the period. Each unique value is listed just once in this array, and the corresponding number in the Counts array specifies the number of times that value occurred during the period. You can include up to 500 unique values in each PutMetricData action that specifies a Values array.

Although the Values array 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.

" } } } diff --git a/models/apis/sagemaker-a2i-runtime/2019-11-07/api-2.json b/models/apis/sagemaker-a2i-runtime/2019-11-07/api-2.json index 77091c584a..4a2211a3f6 100644 --- a/models/apis/sagemaker-a2i-runtime/2019-11-07/api-2.json +++ b/models/apis/sagemaker-a2i-runtime/2019-11-07/api-2.json @@ -3,7 +3,6 @@ "metadata":{ "apiVersion":"2019-11-07", "endpointPrefix":"a2i-runtime.sagemaker", - "jsonVersion":"1.1", "protocol":"rest-json", "serviceFullName":"Amazon Augmented AI Runtime", "serviceId":"SageMaker A2I Runtime", @@ -353,7 +352,10 @@ "error":{"httpStatusCode":429}, "exception":true }, - "Timestamp":{"type":"timestamp"}, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index d0d9487546..982427e3d9 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -9575,7 +9575,6 @@ "AlgorithmSpecification", "RoleArn", "OutputDataConfig", - "ResourceConfig", "StoppingCondition" ], "members":{ @@ -9594,7 +9593,8 @@ "EnableInterContainerTrafficEncryption":{"shape":"Boolean"}, "EnableManagedSpotTraining":{"shape":"Boolean"}, "CheckpointConfig":{"shape":"CheckpointConfig"}, - "RetryStrategy":{"shape":"RetryStrategy"} + "RetryStrategy":{"shape":"RetryStrategy"}, + "HyperParameterTuningResourceConfig":{"shape":"HyperParameterTuningResourceConfig"} } }, "HyperParameterTrainingJobDefinitionName":{ @@ -9637,6 +9637,29 @@ "ObjectiveStatus":{"shape":"ObjectiveStatus"} } }, + "HyperParameterTuningAllocationStrategy":{ + "type":"string", + "enum":["Prioritized"] + }, + "HyperParameterTuningInstanceConfig":{ + "type":"structure", + "required":[ + "InstanceType", + "InstanceCount", + "VolumeSizeInGB" + ], + "members":{ + "InstanceType":{"shape":"TrainingInstanceType"}, + "InstanceCount":{"shape":"TrainingInstanceCount"}, + "VolumeSizeInGB":{"shape":"VolumeSizeInGB"} + } + }, + "HyperParameterTuningInstanceConfigs":{ + "type":"list", + "member":{"shape":"HyperParameterTuningInstanceConfig"}, + "max":6, + "min":1 + }, "HyperParameterTuningJobArn":{ "type":"string", "max":256, @@ -9756,6 +9779,17 @@ "TransferLearning" ] }, + "HyperParameterTuningResourceConfig":{ + "type":"structure", + "members":{ + "InstanceType":{"shape":"TrainingInstanceType"}, + "InstanceCount":{"shape":"TrainingInstanceCount"}, + "VolumeSizeInGB":{"shape":"OptionalVolumeSizeInGB"}, + "VolumeKmsKeyId":{"shape":"KmsKeyId"}, + "AllocationStrategy":{"shape":"HyperParameterTuningAllocationStrategy"}, + "InstanceConfigs":{"shape":"HyperParameterTuningInstanceConfigs"} + } + }, "HyperParameterValue":{ "type":"string", "max":2500, diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index aed6482c77..2cb90af1ea 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -4501,7 +4501,7 @@ "FeatureAdditions": { "base": null, "refs": { - "UpdateFeatureGroupRequest$FeatureAdditions": "

A list of the features that you're adding to the feature group.

" + "UpdateFeatureGroupRequest$FeatureAdditions": "

Updates the feature group. Updating a feature group is an asynchronous operation. When you get an HTTP 200 response, you've made a valid request. It takes some time after you've made a valid request for Feature Store to update the feature group.

" } }, "FeatureDefinition": { @@ -5100,6 +5100,24 @@ "HyperParameterTrainingJobSummaries$member": null } }, + "HyperParameterTuningAllocationStrategy": { + "base": null, + "refs": { + "HyperParameterTuningResourceConfig$AllocationStrategy": "

The strategy that determines the order of preference for resources specified in InstanceConfigs used in hyperparameter optimization.

" + } + }, + "HyperParameterTuningInstanceConfig": { + "base": "

The configuration for hyperparameter tuning resources for use in training jobs launched by the tuning job. These resources include compute instances and storage volumes. Specify one or more compute instance configurations and allocation strategies to select resources (optional).

", + "refs": { + "HyperParameterTuningInstanceConfigs$member": null + } + }, + "HyperParameterTuningInstanceConfigs": { + "base": null, + "refs": { + "HyperParameterTuningResourceConfig$InstanceConfigs": "

A list containing the configuration(s) for one or more resources for processing hyperparameter jobs. These resources include compute instances and storage volumes to use in model training jobs launched by hyperparameter tuning jobs. The AllocationStrategy controls the order in which multiple configurations provided in InstanceConfigs are used.

If you only want to use a single InstanceConfig inside the HyperParameterTuningResourceConfig API, do not provide a value for InstanceConfigs. Instead, use InstanceType, VolumeSizeInGB and InstanceCount. If you use InstanceConfigs, do not provide values for InstanceType, VolumeSizeInGB or InstanceCount.

" + } + }, "HyperParameterTuningJobArn": { "base": null, "refs": { @@ -5198,6 +5216,12 @@ "HyperParameterTuningJobWarmStartConfig$WarmStartType": "

Specifies one of the following:

IDENTICAL_DATA_AND_ALGORITHM

The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. You can change the hyperparameter ranges to search and the maximum number of training jobs that the hyperparameter tuning job launches. You cannot use a new version of the training algorithm, unless the changes in the new version do not affect the algorithm itself. For example, changes that improve logging or adding support for a different data format are allowed. You can also change hyperparameters from tunable to static, and from static to tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The objective metric for the new tuning job must be the same as for all parent jobs.

TRANSFER_LEARNING

The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of concurrent training jobs, and maximum number of training jobs that are different than those of its parent hyperparameter tuning jobs. The training image can also be a different version from the version used in the parent hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from static to tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The objective metric for the new tuning job must be the same as for all parent jobs.

" } }, + "HyperParameterTuningResourceConfig": { + "base": "

The configuration of resources, including compute instances and storage volumes for use in training jobs launched by hyperparameter tuning jobs. Specify one or more instance type and count and the allocation strategy for instance selection.

HyperParameterTuningResourceConfig supports all of the capabilities of ResourceConfig with added functionality for flexible instance management.

", + "refs": { + "HyperParameterTrainingJobDefinition$HyperParameterTuningResourceConfig": "

The configuration for the hyperparameter tuning resources, including the compute instances and storage volumes, used for training jobs launched by the tuning job. By default, storage volumes hold model artifacts and incremental states. Choose File for TrainingInputMode in the AlgorithmSpecificationparameter to additionally store training data in the storage volume (optional).

" + } + }, "HyperParameterValue": { "base": null, "refs": { @@ -5683,7 +5707,7 @@ "base": "

The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app.

", "refs": { "AppImageConfigDetails$KernelGatewayImageConfig": "

The configuration for the file system and kernels in the SageMaker image.

", - "CreateAppImageConfigRequest$KernelGatewayImageConfig": "

The KernelGatewayImageConfig.

", + "CreateAppImageConfigRequest$KernelGatewayImageConfig": "

The KernelGatewayImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel will be shown to users before the image starts. Once the image runs, all kernels are visible in JupyterLab.

", "DescribeAppImageConfigResponse$KernelGatewayImageConfig": "

The configuration of a KernelGateway app.

", "UpdateAppImageConfigRequest$KernelGatewayImageConfig": "

The new KernelGateway app to run on the image.

" } @@ -5733,6 +5757,7 @@ "DescribeNotebookInstanceOutput$KmsKeyId": "

The Amazon Web Services KMS key ID SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

", "EdgeOutputConfig$KmsKeyId": "

The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume after compilation job. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account.

", "FlowDefinitionOutputConfig$KmsKeyId": "

The Amazon Key Management Service (KMS) key ID for server-side encryption.

", + "HyperParameterTuningResourceConfig$VolumeKmsKeyId": "

A key used by AWS Key Management Service to encrypt data on the storage volume attached to the compute instances used to run the training job. You can use either of the following formats to specify a key.

KMS Key ID:

\"1234abcd-12ab-34cd-56ef-1234567890ab\"

Amazon Resource Name (ARN) of a AWS KMS key:

\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

Some instances use local storage, which use a hardware module to encrypt storage volumes. If you choose one of these instance types, you cannot request a VolumeKmsKeyId. For a list of instance types that use local storage, see instance store volumes. For more information about AWS Key Management Service, see AWS KMS encryption for more information.

", "LabelingJobOutputConfig$KmsKeyId": "

The Amazon Web Services Key Management Service ID of the key used to encrypt the output data, if any.

If you provide your own KMS key ID, you must add the required permissions to your KMS key described in Encrypt Output Data and Storage Volume with Amazon Web Services KMS.

If you don't provide a KMS key ID, Amazon SageMaker uses the default Amazon Web Services KMS key for Amazon S3 for your role's account to encrypt your output data.

If you use a bucket policy with an s3:PutObject permission that only allows objects with server-side encryption, set the condition key of s3:x-amz-server-side-encryption to \"aws:kms\". For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

", "LabelingJobResourceConfig$VolumeKmsKeyId": "

The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the training and inference jobs used for automated data labeling.

You can only specify a VolumeKmsKeyId when you create a labeling job with automated data labeling enabled using the API operation CreateLabelingJob. You cannot specify an Amazon Web Services KMS key to encrypt the storage volume used for automated data labeling model training and inference when you create a labeling job using the console. To learn more, see Output Data and Storage Volume Encryption.

The VolumeKmsKeyId can be any of the following formats:

", "MonitoringClusterConfig$VolumeKmsKeyId": "

The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.

", @@ -8327,6 +8352,7 @@ "base": null, "refs": { "DebugRuleConfiguration$VolumeSizeInGB": "

The size, in GB, of the ML storage volume attached to the processing instance.

", + "HyperParameterTuningResourceConfig$VolumeSizeInGB": "

The volume size in GB for the storage volume to be used in processing hyperparameter optimization jobs (optional). These volumes store model artifacts, incremental states and optionally, scratch space for training algorithms. Do not provide a value for this parameter if a value for InstanceConfigs is also specified.

Some instance types have a fixed total local storage size. If you select one of these instances for training, VolumeSizeInGB cannot be greater than this total size. For a list of instance types with local instance storage and their sizes, see instance store volumes.

SageMaker supports only the General Purpose SSD (gp2) storage volume type.

", "ProfilerRuleConfiguration$VolumeSizeInGB": "

The size, in GB, of the ML storage volume attached to the processing instance.

" } }, @@ -9567,7 +9593,7 @@ "refs": { "CreateTrainingJobRequest$ResourceConfig": "

The resources, including the ML compute instances and ML storage volumes, to use for model training.

ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage volumes for scratch space. If you want SageMaker to use the ML storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.

", "DescribeTrainingJobResponse$ResourceConfig": "

Resources, including ML compute instances and ML storage volumes, that are configured for model training.

", - "HyperParameterTrainingJobDefinition$ResourceConfig": "

The resources, including the compute instances and storage volumes, to use for the training jobs that the tuning job launches.

Storage volumes store model artifacts and incremental states. Training algorithms might also use storage volumes for scratch space. If you want SageMaker to use the storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.

", + "HyperParameterTrainingJobDefinition$ResourceConfig": "

The resources, including the compute instances and storage volumes, to use for the training jobs that the tuning job launches.

Storage volumes store model artifacts and incremental states. Training algorithms might also use storage volumes for scratch space. If you want SageMaker to use the storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.

If you want to use hyperparameter optimization with instance type flexibility, use HyperParameterTuningResourceConfig instead.

", "TrainingJob$ResourceConfig": "

Resources, including ML compute instances and ML storage volumes, that are configured for model training.

", "TrainingJobDefinition$ResourceConfig": "

The resources, including the ML compute instances and ML storage volumes, to use for model training.

" } @@ -10758,7 +10784,7 @@ "TransformJob$Tags": "

A list of tags associated with the transform job.

", "Trial$Tags": "

The list of tags that are associated with the trial. You can use Search API to search on the tags.

", "TrialComponent$Tags": "

The list of tags that are associated with the component. You can use Search API to search on the tags.

", - "UpdateProjectInput$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources.

" + "UpdateProjectInput$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. In addition, the project must have tag update constraints set in order to include this parameter in the request. For more information, see Amazon Web Services Service Catalog Tag Update Constraints.

" } }, "TagValue": { @@ -11309,6 +11335,8 @@ "TrainingInstanceCount": { "base": null, "refs": { + "HyperParameterTuningInstanceConfig$InstanceCount": "

The number of instances of the type specified by InstanceType. Choose an instance count larger than 1 for distributed training algorithms. See SageMaker distributed training jobs for more information.

", + "HyperParameterTuningResourceConfig$InstanceCount": "

The number of compute instances of type InstanceType to use. For distributed training, select a value greater than 1.

", "InstanceGroup$InstanceCount": "

Specifies the number of instances of the instance group.

", "ResourceConfig$InstanceCount": "

The number of ML compute instances to use. For distributed training, provide a value greater than 1.

" } @@ -11316,6 +11344,8 @@ "TrainingInstanceType": { "base": null, "refs": { + "HyperParameterTuningInstanceConfig$InstanceType": "

The instance type used for processing of hyperparameter optimization jobs. Choose from general purpose (no GPUs) instance types: ml.m5.xlarge, ml.m5.2xlarge, and ml.m5.4xlarge or compute optimized (no GPUs) instance types: ml.c5.xlarge and ml.c5.2xlarge. For more information about instance types, see instance type descriptions.

", + "HyperParameterTuningResourceConfig$InstanceType": "

The instance type used to run hyperparameter optimization tuning jobs. See descriptions of instance types for more information.

", "InstanceGroup$InstanceType": "

Specifies the instance type of the instance group.

", "ResourceConfig$InstanceType": "

The ML compute instance type.

", "TrainingInstanceTypes$member": null @@ -12276,6 +12306,7 @@ "VolumeSizeInGB": { "base": null, "refs": { + "HyperParameterTuningInstanceConfig$VolumeSizeInGB": "

The volume size in GB of the data to be processed for hyperparameter optimization (optional).

", "ResourceConfig$VolumeSizeInGB": "

The size of the ML storage volume that you want to provision.

ML storage volumes store model artifacts and incremental states. Training algorithms might also use the ML storage volume for scratch space. If you want to store the training data in the ML storage volume, choose File as the TrainingInputMode in the algorithm specification.

You must specify sufficient ML storage for your scenario.

SageMaker supports only the General Purpose SSD (gp2) ML storage volume type.

Certain Nitro-based instances include local storage with a fixed total size, dependent on the instance type. When using these instances for training, SageMaker mounts the local instance storage instead of Amazon EBS gp2 storage. You can't request a VolumeSizeInGB greater than the total size of the local instance storage.

For a list of instance types that support local instance storage, including the total size per instance type, see Instance Store Volumes.

" } }, diff --git a/service/augmentedairuntime/api.go b/service/augmentedairuntime/api.go index 56166f2a53..bf1e209aac 100644 --- a/service/augmentedairuntime/api.go +++ b/service/augmentedairuntime/api.go @@ -734,7 +734,7 @@ type DescribeHumanLoopOutput struct { // The creation time when Amazon Augmented AI created the human loop. // // CreationTime is a required field - CreationTime *time.Time `type:"timestamp" required:"true"` + CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // A failure code that identifies the type of failure. // @@ -977,7 +977,7 @@ type HumanLoopSummary struct { _ struct{} `type:"structure"` // When Amazon Augmented AI created the human loop. - CreationTime *time.Time `type:"timestamp"` + CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The reason why the human loop failed. A failure reason is returned when the // status of the human loop is Failed. @@ -1112,11 +1112,11 @@ type ListHumanLoopsInput struct { // (Optional) The timestamp of the date when you want the human loops to begin // in ISO 8601 format. For example, 2020-02-24. - CreationTimeAfter *time.Time `location:"querystring" locationName:"CreationTimeAfter" type:"timestamp"` + CreationTimeAfter *time.Time `location:"querystring" locationName:"CreationTimeAfter" type:"timestamp" timestampFormat:"iso8601"` // (Optional) The timestamp of the date before which you want the human loops // to begin in ISO 8601 format. For example, 2020-02-24. - CreationTimeBefore *time.Time `location:"querystring" locationName:"CreationTimeBefore" type:"timestamp"` + CreationTimeBefore *time.Time `location:"querystring" locationName:"CreationTimeBefore" type:"timestamp" timestampFormat:"iso8601"` // The Amazon Resource Name (ARN) of a flow definition. // diff --git a/service/cloudwatch/api.go b/service/cloudwatch/api.go index 34f52a2fe5..e82309b1c7 100644 --- a/service/cloudwatch/api.go +++ b/service/cloudwatch/api.go @@ -157,7 +157,10 @@ func (c *CloudWatch) DeleteAnomalyDetectorRequest(input *DeleteAnomalyDetectorIn // DeleteAnomalyDetector API operation for Amazon CloudWatch. // -// Deletes the specified anomaly detection model from your account. +// Deletes the specified anomaly detection model from your account. For more +// information about how to delete an anomaly detection model, see Deleting +// an anomaly detection model (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Anomaly_Detection_Alarm.html#Delete_Anomaly_Detection_Model) +// in the CloudWatch User 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 @@ -3236,16 +3239,16 @@ func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *reque // 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. +// Each PutMetricData request is limited to 1 MB 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. +// no more than 1000 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 +// You can use up to 30 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) // in the Amazon CloudWatch User Guide. @@ -5818,7 +5821,7 @@ func (s *DescribeInsightRulesOutput) SetNextToken(v string) *DescribeInsightRule // InstanceId as a dimension name, and the actual instance ID as the value for // that dimension. // -// You can assign up to 10 dimensions to a metric. +// You can assign up to 30 dimensions to a metric. type Dimension struct { _ struct{} `type:"structure"` @@ -8880,7 +8883,7 @@ type MetricDatum struct { // Array of numbers representing the values for the metric during the period. // Each unique value is listed just once in this array, and the corresponding // number in the Counts array specifies the number of times that value occurred - // during the period. You can include up to 150 unique values in each PutMetricData + // during the period. You can include up to 500 unique values in each PutMetricData // action that specifies a Values array. // // Although the Values array accepts numbers of type Double, CloudWatch rejects @@ -10427,7 +10430,7 @@ type PutMetricAlarmInput struct { // // However, if the metric is published with multiple types of units and you // don't specify a unit, the alarm's behavior is not defined and it behaves - // predictably. + // unpredictably. // // We recommend omitting Unit so that you don't inadvertently specify an incorrect // unit that is not published for this metric. Doing so causes the alarm to @@ -10686,8 +10689,8 @@ func (s PutMetricAlarmOutput) GoString() string { type PutMetricDataInput struct { _ struct{} `type:"structure"` - // The data for the metric. The array can include no more than 20 metrics per - // call. + // The data for the metric. The array can include no more than 1000 metrics + // per call. // // MetricData is a required field MetricData []*MetricDatum `type:"list" required:"true"` diff --git a/service/locationservice/api.go b/service/locationservice/api.go index bbf085c34b..dfec096456 100644 --- a/service/locationservice/api.go +++ b/service/locationservice/api.go @@ -807,7 +807,9 @@ func (c *LocationService) CalculateRouteRequest(input *CalculateRouteInput) (req // * Specifying a travel mode (https://docs.aws.amazon.com/location/latest/developerguide/travel-mode.html) // using TravelMode sets the transportation mode used to calculate the routes. // This also lets you specify additional route preferences in CarModeOptions -// if traveling by Car, or TruckModeOptions if traveling by Truck. +// if traveling by Car, or TruckModeOptions if traveling by Truck. If you +// specify walking for the travel mode and your data provider is Esri, the +// start and destination must be within 40km. // // 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 @@ -6664,7 +6666,8 @@ type BatchPutGeofenceRequestEntry struct { // GeofenceId is a required field GeofenceId *string `min:"1" type:"string" required:"true"` - // Contains the polygon details to specify the position of the geofence. + // Contains the details of the position of the geofence. Can be either a polygon + // or a circle. Including both will return a validation error. // // Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html) // can have a maximum of 1,000 vertices. @@ -7090,7 +7093,8 @@ type CalculateRouteInput struct { IncludeLegGeometry *bool `type:"boolean"` // Specifies the mode of transport when calculating a route. Used in estimating - // the speed of travel and road compatibility. + // the speed of travel and road compatibility. You can choose Car, Truck, or + // Walking as options for the TravelMode. // // The TravelMode you specify also determines how you specify route preferences: // @@ -7836,6 +7840,77 @@ func (s *CalculateRouteTruckModeOptions) SetWeight(v *TruckWeight) *CalculateRou return s } +// A circle on the earth, as defined by a center point and a radius. +type Circle struct { + _ struct{} `type:"structure" sensitive:"true"` + + // A single point geometry, specifying the center of the circle, using WGS 84 + // (https://gisgeography.com/wgs84-world-geodetic-system/) coordinates, in the + // form [longitude, latitude]. + // + // Center is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Circle's + // String and GoString methods. + // + // Center is a required field + Center []*float64 `min:"2" type:"list" required:"true" sensitive:"true"` + + // The radius of the circle in meters. Must be greater than zero and no larger + // than 100,000 (100 kilometers). + // + // Radius is a required field + Radius *float64 `type:"double" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Circle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Circle) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Circle) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Circle"} + if s.Center == nil { + invalidParams.Add(request.NewErrParamRequired("Center")) + } + if s.Center != nil && len(s.Center) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Center", 2)) + } + if s.Radius == nil { + invalidParams.Add(request.NewErrParamRequired("Radius")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCenter sets the Center field's value. +func (s *Circle) SetCenter(v []*float64) *Circle { + s.Center = v + return s +} + +// SetRadius sets the Radius field's value. +func (s *Circle) SetRadius(v float64) *Circle { + s.Radius = &v + return s +} + // The request was unsuccessful because of a conflict. type ConflictException struct { _ struct{} `type:"structure"` @@ -10496,11 +10571,21 @@ func (s DisassociateTrackerConsumerOutput) GoString() string { // Contains the geofence geometry details. // +// A geofence geometry is made up of either a polygon or a circle. Can be either +// a polygon or a circle. Including both will return a validation error. +// // Amazon Location doesn't currently support polygons with holes, multipolygons, // polygons that are wound clockwise, or that cross the antimeridian. type GeofenceGeometry struct { _ struct{} `type:"structure"` + // A circle on the earth, as defined by a center point and a radius. + // + // Circle is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GeofenceGeometry's + // String and GoString methods. + Circle *Circle `type:"structure" sensitive:"true"` + // An array of 1 or more linear rings. A linear ring is an array of 4 or more // vertices, where the first and last vertex are the same to form a closed boundary. // Each vertex is a 2-dimensional point of the form: [longitude, latitude]. @@ -10511,6 +10596,8 @@ type GeofenceGeometry struct { // around the ring's center, where the left side is the polygon's exterior. // Inner rings must list their vertices in clockwise order, where the left side // is the polygon's interior. + // + // A geofence polygon can consist of between 4 and 1,000 vertices. Polygon [][][]*float64 `min:"1" type:"list"` } @@ -10538,6 +10625,11 @@ func (s *GeofenceGeometry) Validate() error { if s.Polygon != nil && len(s.Polygon) < 1 { invalidParams.Add(request.NewErrParamMinLen("Polygon", 1)) } + if s.Circle != nil { + if err := s.Circle.Validate(); err != nil { + invalidParams.AddNested("Circle", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -10545,6 +10637,12 @@ func (s *GeofenceGeometry) Validate() error { return nil } +// SetCircle sets the Circle field's value. +func (s *GeofenceGeometry) SetCircle(v *Circle) *GeofenceGeometry { + s.Circle = v + return s +} + // SetPolygon sets the Polygon field's value. func (s *GeofenceGeometry) SetPolygon(v [][][]*float64) *GeofenceGeometry { s.Polygon = v @@ -10959,7 +11057,7 @@ type GetGeofenceOutput struct { // GeofenceId is a required field GeofenceId *string `min:"1" type:"string" required:"true"` - // Contains the geofence geometry details describing a polygon. + // Contains the geofence geometry details describing a polygon or a circle. // // Geometry is a required field Geometry *GeofenceGeometry `type:"structure" required:"true"` @@ -11060,7 +11158,7 @@ type GetMapGlyphsInput struct { // Valid font stacks for HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html) // styles: // - // * VectorHereBerlin – Fira GO Regular | Fira GO Bold + // * VectorHereContrast – Fira GO Regular | Fira GO Bold // // * VectorHereExplore, VectorHereExploreTruck – Firo GO Italic | Fira // GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light @@ -12181,7 +12279,7 @@ type ListGeofenceResponseEntry struct { // GeofenceId is a required field GeofenceId *string `min:"1" type:"string" required:"true"` - // Contains the geofence geometry details describing a polygon. + // Contains the geofence geometry details describing a polygon or a circle. // // Geometry is a required field Geometry *GeofenceGeometry `type:"structure" required:"true"` @@ -13421,8 +13519,8 @@ type MapConfiguration struct { // // Valid HERE Technologies map styles (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html): // - // * VectorHereBerlin – The HERE Berlin map style is a high contrast detailed - // base map of the world that blends 3D and 2D rendering. + // * VectorHereContrast – The HERE Contrast (Berlin) map style is a high + // contrast detailed base map of the world that blends 3D and 2D rendering. // // * VectorHereExplore – A default HERE map style containing a neutral, // global map and its features including roads, buildings, landmarks, and @@ -13433,6 +13531,9 @@ type MapConfiguration struct { // segments and icons on top of HERE Explore to support use cases within // transport and logistics. // + // The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin + // has been deprecated, but will continue to work in applications that use it. + // // Style is a required field Style *string `min:"1" type:"string" required:"true"` } @@ -13731,7 +13832,8 @@ type PutGeofenceInput struct { // GeofenceId is a required field GeofenceId *string `location:"uri" locationName:"GeofenceId" min:"1" type:"string" required:"true"` - // Contains the polygon details to specify the position of the geofence. + // Contains the details to specify the position of the geofence. Can be either + // a polygon or a circle. Including both will return a validation error. // // Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html) // can have a maximum of 1,000 vertices. @@ -15544,11 +15646,17 @@ type TruckDimensions struct { // The height of the truck. // // * For example, 4.5. + // + // For routes calculated with a HERE resource, this value must be between 0 + // and 50 meters. Height *float64 `type:"double"` // The length of the truck. // // * For example, 15.5. + // + // For routes calculated with a HERE resource, this value must be between 0 + // and 300 meters. Length *float64 `type:"double"` // Specifies the unit of measurement for the truck dimensions. @@ -15559,6 +15667,9 @@ type TruckDimensions struct { // The width of the truck. // // * For example, 4.5. + // + // For routes calculated with a HERE resource, this value must be between 0 + // and 50 meters. Width *float64 `type:"double"` } diff --git a/service/locationservice/doc.go b/service/locationservice/doc.go index 1e8efd97ed..36d6f4b2cd 100644 --- a/service/locationservice/doc.go +++ b/service/locationservice/doc.go @@ -3,8 +3,8 @@ // Package locationservice provides the client and types for making API // requests to Amazon Location Service. // -// Suite of geospatial services including Maps, Places, Routes, Tracking, and -// Geofencing +// "Suite of geospatial services including Maps, Places, Routes, Tracking, and +// Geofencing" // // See https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19 for more information on this service. // diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 05da189b6c..61e2b06362 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -31789,7 +31789,9 @@ type CreateAppImageConfigInput struct { // AppImageConfigName is a required field AppImageConfigName *string `type:"string" required:"true"` - // The KernelGatewayImageConfig. + // The KernelGatewayImageConfig. You can only specify one image kernel in the + // AppImageConfig API. This kernel will be shown to users before the image starts. + // Once the image runs, all kernels are visible in JupyterLab. KernelGatewayImageConfig *KernelGatewayImageConfig `type:"structure"` // A list of tags to apply to the AppImageConfig. @@ -61716,6 +61718,13 @@ type HyperParameterTrainingJobDefinition struct { // all the ranges can't exceed the maximum number specified. HyperParameterRanges *ParameterRanges `type:"structure"` + // The configuration for the hyperparameter tuning resources, including the + // compute instances and storage volumes, used for training jobs launched by + // the tuning job. By default, storage volumes hold model artifacts and incremental + // states. Choose File for TrainingInputMode in the AlgorithmSpecificationparameter + // to additionally store training data in the storage volume (optional). + HyperParameterTuningResourceConfig *HyperParameterTuningResourceConfig `type:"structure"` + // An array of Channel objects that specify the input for the training jobs // that the tuning job launches. InputDataConfig []*Channel `min:"1" type:"list"` @@ -61735,8 +61744,9 @@ type HyperParameterTrainingJobDefinition struct { // in the algorithm specification. For distributed training algorithms, specify // an instance count greater than 1. // - // ResourceConfig is a required field - ResourceConfig *ResourceConfig `type:"structure" required:"true"` + // If you want to use hyperparameter optimization with instance type flexibility, + // use HyperParameterTuningResourceConfig instead. + ResourceConfig *ResourceConfig `type:"structure"` // The number of times to retry the job when the job fails due to an InternalServerError. RetryStrategy *RetryStrategy `type:"structure"` @@ -61805,9 +61815,6 @@ func (s *HyperParameterTrainingJobDefinition) Validate() error { if s.OutputDataConfig == nil { invalidParams.Add(request.NewErrParamRequired("OutputDataConfig")) } - if s.ResourceConfig == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceConfig")) - } if s.RoleArn == nil { invalidParams.Add(request.NewErrParamRequired("RoleArn")) } @@ -61832,6 +61839,11 @@ func (s *HyperParameterTrainingJobDefinition) Validate() error { invalidParams.AddNested("HyperParameterRanges", err.(request.ErrInvalidParams)) } } + if s.HyperParameterTuningResourceConfig != nil { + if err := s.HyperParameterTuningResourceConfig.Validate(); err != nil { + invalidParams.AddNested("HyperParameterTuningResourceConfig", err.(request.ErrInvalidParams)) + } + } if s.InputDataConfig != nil { for i, v := range s.InputDataConfig { if v == nil { @@ -61921,6 +61933,12 @@ func (s *HyperParameterTrainingJobDefinition) SetHyperParameterRanges(v *Paramet return s } +// SetHyperParameterTuningResourceConfig sets the HyperParameterTuningResourceConfig field's value. +func (s *HyperParameterTrainingJobDefinition) SetHyperParameterTuningResourceConfig(v *HyperParameterTuningResourceConfig) *HyperParameterTrainingJobDefinition { + s.HyperParameterTuningResourceConfig = v + return s +} + // SetInputDataConfig sets the InputDataConfig field's value. func (s *HyperParameterTrainingJobDefinition) SetInputDataConfig(v []*Channel) *HyperParameterTrainingJobDefinition { s.InputDataConfig = v @@ -62133,6 +62151,95 @@ func (s *HyperParameterTrainingJobSummary) SetTuningJobName(v string) *HyperPara return s } +// The configuration for hyperparameter tuning resources for use in training +// jobs launched by the tuning job. These resources include compute instances +// and storage volumes. Specify one or more compute instance configurations +// and allocation strategies to select resources (optional). +type HyperParameterTuningInstanceConfig struct { + _ struct{} `type:"structure"` + + // The number of instances of the type specified by InstanceType. Choose an + // instance count larger than 1 for distributed training algorithms. See SageMaker + // distributed training jobs (https://docs.aws.amazon.com/data-parallel-use-api.html) + // for more information. + // + // InstanceCount is a required field + InstanceCount *int64 `type:"integer" required:"true"` + + // The instance type used for processing of hyperparameter optimization jobs. + // Choose from general purpose (no GPUs) instance types: ml.m5.xlarge, ml.m5.2xlarge, + // and ml.m5.4xlarge or compute optimized (no GPUs) instance types: ml.c5.xlarge + // and ml.c5.2xlarge. For more information about instance types, see instance + // type descriptions (https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-available-instance-types.html). + // + // InstanceType is a required field + InstanceType *string `type:"string" required:"true" enum:"TrainingInstanceType"` + + // The volume size in GB of the data to be processed for hyperparameter optimization + // (optional). + // + // VolumeSizeInGB is a required field + VolumeSizeInGB *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HyperParameterTuningInstanceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HyperParameterTuningInstanceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterTuningInstanceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningInstanceConfig"} + if s.InstanceCount == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceCount")) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.VolumeSizeInGB == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeSizeInGB")) + } + if s.VolumeSizeInGB != nil && *s.VolumeSizeInGB < 1 { + invalidParams.Add(request.NewErrParamMinValue("VolumeSizeInGB", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceCount sets the InstanceCount field's value. +func (s *HyperParameterTuningInstanceConfig) SetInstanceCount(v int64) *HyperParameterTuningInstanceConfig { + s.InstanceCount = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *HyperParameterTuningInstanceConfig) SetInstanceType(v string) *HyperParameterTuningInstanceConfig { + s.InstanceType = &v + return s +} + +// SetVolumeSizeInGB sets the VolumeSizeInGB field's value. +func (s *HyperParameterTuningInstanceConfig) SetVolumeSizeInGB(v int64) *HyperParameterTuningInstanceConfig { + s.VolumeSizeInGB = &v + return s +} + // Configures a hyperparameter tuning job. type HyperParameterTuningJobConfig struct { _ struct{} `type:"structure"` @@ -62587,6 +62694,156 @@ func (s *HyperParameterTuningJobWarmStartConfig) SetWarmStartType(v string) *Hyp return s } +// The configuration of resources, including compute instances and storage volumes +// for use in training jobs launched by hyperparameter tuning jobs. Specify +// one or more instance type and count and the allocation strategy for instance +// selection. +// +// HyperParameterTuningResourceConfig supports all of the capabilities of ResourceConfig +// with added functionality for flexible instance management. +type HyperParameterTuningResourceConfig struct { + _ struct{} `type:"structure"` + + // The strategy that determines the order of preference for resources specified + // in InstanceConfigs used in hyperparameter optimization. + AllocationStrategy *string `type:"string" enum:"HyperParameterTuningAllocationStrategy"` + + // A list containing the configuration(s) for one or more resources for processing + // hyperparameter jobs. These resources include compute instances and storage + // volumes to use in model training jobs launched by hyperparameter tuning jobs. + // The AllocationStrategy controls the order in which multiple configurations + // provided in InstanceConfigs are used. + // + // If you only want to use a single InstanceConfig inside the HyperParameterTuningResourceConfig + // API, do not provide a value for InstanceConfigs. Instead, use InstanceType, + // VolumeSizeInGB and InstanceCount. If you use InstanceConfigs, do not provide + // values for InstanceType, VolumeSizeInGB or InstanceCount. + InstanceConfigs []*HyperParameterTuningInstanceConfig `min:"1" type:"list"` + + // The number of compute instances of type InstanceType to use. For distributed + // training (https://docs.aws.amazon.com/sagemaker/latest/dg/data-parallel-use-api.html), + // select a value greater than 1. + InstanceCount *int64 `type:"integer"` + + // The instance type used to run hyperparameter optimization tuning jobs. See + // descriptions of instance types (https://docs.aws.amazon.com/notebooks-available-instance-types.html) + // for more information. + InstanceType *string `type:"string" enum:"TrainingInstanceType"` + + // A key used by AWS Key Management Service to encrypt data on the storage volume + // attached to the compute instances used to run the training job. You can use + // either of the following formats to specify a key. + // + // KMS Key ID: + // + // "1234abcd-12ab-34cd-56ef-1234567890ab" + // + // Amazon Resource Name (ARN) of a AWS KMS key: + // + // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + // + // Some instances use local storage, which use a hardware module to encrypt + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) + // storage volumes. If you choose one of these instance types, you cannot request + // a VolumeKmsKeyId. For a list of instance types that use local storage, see + // instance store volumes (https://aws.amazon.com/releasenotes/host-instance-storage-volumes-table/). + // For more information about AWS Key Management Service, see AWS KMS encryption + // (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-kms-permissions.html) + // for more information. + VolumeKmsKeyId *string `type:"string"` + + // The volume size in GB for the storage volume to be used in processing hyperparameter + // optimization jobs (optional). These volumes store model artifacts, incremental + // states and optionally, scratch space for training algorithms. Do not provide + // a value for this parameter if a value for InstanceConfigs is also specified. + // + // Some instance types have a fixed total local storage size. If you select + // one of these instances for training, VolumeSizeInGB cannot be greater than + // this total size. For a list of instance types with local instance storage + // and their sizes, see instance store volumes (https://aws.amazon.com/releasenotes/host-instance-storage-volumes-table/). + // + // SageMaker supports only the General Purpose SSD (gp2) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) + // storage volume type. + VolumeSizeInGB *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HyperParameterTuningResourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HyperParameterTuningResourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterTuningResourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningResourceConfig"} + if s.InstanceConfigs != nil && len(s.InstanceConfigs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceConfigs", 1)) + } + if s.InstanceConfigs != nil { + for i, v := range s.InstanceConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceConfigs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllocationStrategy sets the AllocationStrategy field's value. +func (s *HyperParameterTuningResourceConfig) SetAllocationStrategy(v string) *HyperParameterTuningResourceConfig { + s.AllocationStrategy = &v + return s +} + +// SetInstanceConfigs sets the InstanceConfigs field's value. +func (s *HyperParameterTuningResourceConfig) SetInstanceConfigs(v []*HyperParameterTuningInstanceConfig) *HyperParameterTuningResourceConfig { + s.InstanceConfigs = v + return s +} + +// SetInstanceCount sets the InstanceCount field's value. +func (s *HyperParameterTuningResourceConfig) SetInstanceCount(v int64) *HyperParameterTuningResourceConfig { + s.InstanceCount = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *HyperParameterTuningResourceConfig) SetInstanceType(v string) *HyperParameterTuningResourceConfig { + s.InstanceType = &v + return s +} + +// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value. +func (s *HyperParameterTuningResourceConfig) SetVolumeKmsKeyId(v string) *HyperParameterTuningResourceConfig { + s.VolumeKmsKeyId = &v + return s +} + +// SetVolumeSizeInGB sets the VolumeSizeInGB field's value. +func (s *HyperParameterTuningResourceConfig) SetVolumeSizeInGB(v int64) *HyperParameterTuningResourceConfig { + s.VolumeSizeInGB = &v + return s +} + // A SageMaker image. A SageMaker image represents a set of container images // that are derived from a common base container image. Each of these container // images is represented by a SageMaker ImageVersion. @@ -94603,7 +94860,10 @@ func (s *UpdateExperimentOutput) SetExperimentArn(v string) *UpdateExperimentOut type UpdateFeatureGroupInput struct { _ struct{} `type:"structure"` - // A list of the features that you're adding to the feature group. + // Updates the feature group. Updating a feature group is an asynchronous operation. + // When you get an HTTP 200 response, you've made a valid request. It takes + // some time after you've made a valid request for Feature Store to update the + // feature group. FeatureAdditions []*FeatureDefinition `min:"1" type:"list"` // The name of the feature group that you're updating. @@ -95846,7 +96106,10 @@ type UpdateProjectInput struct { // An array of key-value pairs. You can use tags to categorize your Amazon Web // Services resources in different ways, for example, by purpose, owner, or // environment. For more information, see Tagging Amazon Web Services Resources - // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). In addition, + // the project must have tag update constraints set in order to include this + // parameter in the request. For more information, see Amazon Web Services Service + // Catalog Tag Update Constraints (https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-resourceupdate.html). Tags []*Tag `type:"list"` } @@ -99316,6 +99579,18 @@ func HyperParameterScalingType_Values() []string { } } +const ( + // HyperParameterTuningAllocationStrategyPrioritized is a HyperParameterTuningAllocationStrategy enum value + HyperParameterTuningAllocationStrategyPrioritized = "Prioritized" +) + +// HyperParameterTuningAllocationStrategy_Values returns all elements of the HyperParameterTuningAllocationStrategy enum +func HyperParameterTuningAllocationStrategy_Values() []string { + return []string{ + HyperParameterTuningAllocationStrategyPrioritized, + } +} + const ( // HyperParameterTuningJobObjectiveTypeMaximize is a HyperParameterTuningJobObjectiveType enum value HyperParameterTuningJobObjectiveTypeMaximize = "Maximize"