diff --git a/apis/devops-guru/2020-12-01/api-2.json b/apis/devops-guru/2020-12-01/api-2.json index 64d3b9af1c3..ae0dcaadf5c 100644 --- a/apis/devops-guru/2020-12-01/api-2.json +++ b/apis/devops-guru/2020-12-01/api-2.json @@ -224,6 +224,7 @@ "errors":[ {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"} ] @@ -279,6 +280,23 @@ {"shape":"ValidationException"} ] }, + "ListAnomalousLogGroups":{ + "name":"ListAnomalousLogGroups", + "http":{ + "method":"POST", + "requestUri":"/list-log-anomalies", + "responseCode":200 + }, + "input":{"shape":"ListAnomalousLogGroupsRequest"}, + "output":{"shape":"ListAnomalousLogGroupsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "ListEvents":{ "name":"ListEvents", "http":{ @@ -312,6 +330,22 @@ {"shape":"ValidationException"} ] }, + "ListMonitoredResources":{ + "name":"ListMonitoredResources", + "http":{ + "method":"POST", + "requestUri":"/monitoredResources", + "responseCode":200 + }, + "input":{"shape":"ListMonitoredResourcesRequest"}, + "output":{"shape":"ListMonitoredResourcesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "ListNotificationChannels":{ "name":"ListNotificationChannels", "http":{ @@ -552,6 +586,20 @@ "Status":{"shape":"EventSourceOptInStatus"} } }, + "AnomalousLogGroup":{ + "type":"structure", + "members":{ + "LogGroupName":{"shape":"LogGroupName"}, + "ImpactStartTime":{"shape":"Timestamp"}, + "ImpactEndTime":{"shape":"Timestamp"}, + "NumberOfLogLinesScanned":{"shape":"NumberOfLogLinesScanned"}, + "LogAnomalyShowcases":{"shape":"LogAnomalyShowcases"} + } + }, + "AnomalousLogGroups":{ + "type":"list", + "member":{"shape":"AnomalousLogGroup"} + }, "AnomalyDescription":{"type":"string"}, "AnomalyId":{ "type":"string", @@ -1139,6 +1187,11 @@ "type":"list", "member":{"shape":"Event"} }, + "Explanation":{ + "type":"string", + "max":2048, + "min":1 + }, "GetCostEstimationRequest":{ "type":"structure", "members":{ @@ -1306,6 +1359,32 @@ "NextToken":{"shape":"UuidNextToken"} } }, + "ListAnomalousLogGroupsMaxResults":{ + "type":"integer", + "max":200, + "min":1 + }, + "ListAnomalousLogGroupsRequest":{ + "type":"structure", + "required":["InsightId"], + "members":{ + "InsightId":{"shape":"InsightId"}, + "MaxResults":{"shape":"ListAnomalousLogGroupsMaxResults"}, + "NextToken":{"shape":"UuidNextToken"} + } + }, + "ListAnomalousLogGroupsResponse":{ + "type":"structure", + "required":[ + "InsightId", + "AnomalousLogGroups" + ], + "members":{ + "InsightId":{"shape":"InsightId"}, + "AnomalousLogGroups":{"shape":"AnomalousLogGroups"}, + "NextToken":{"shape":"UuidNextToken"} + } + }, "ListEventsFilters":{ "type":"structure", "members":{ @@ -1411,6 +1490,39 @@ "Any":{"shape":"ListInsightsAnyStatusFilter"} } }, + "ListMonitoredResourcesFilters":{ + "type":"structure", + "required":[ + "ResourcePermission", + "ResourceTypeFilters" + ], + "members":{ + "ResourcePermission":{"shape":"ResourcePermission"}, + "ResourceTypeFilters":{"shape":"ResourceTypeFilters"} + } + }, + "ListMonitoredResourcesMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListMonitoredResourcesRequest":{ + "type":"structure", + "required":["Filters"], + "members":{ + "Filters":{"shape":"ListMonitoredResourcesFilters"}, + "MaxResults":{"shape":"ListMonitoredResourcesMaxResults"}, + "NextToken":{"shape":"UuidNextToken"} + } + }, + "ListMonitoredResourcesResponse":{ + "type":"structure", + "required":["MonitoredResourceIdentifiers"], + "members":{ + "MonitoredResourceIdentifiers":{"shape":"MonitoredResourceIdentifiers"}, + "NextToken":{"shape":"UuidNextToken"} + } + }, "ListNotificationChannelsRequest":{ "type":"structure", "members":{ @@ -1476,8 +1588,101 @@ "ZH_TW" ] }, + "LogAnomalyClass":{ + "type":"structure", + "members":{ + "LogStreamName":{"shape":"LogStreamName"}, + "LogAnomalyType":{"shape":"LogAnomalyType"}, + "LogAnomalyToken":{"shape":"LogAnomalyToken"}, + "LogEventId":{"shape":"LogEventId"}, + "Explanation":{"shape":"Explanation"}, + "NumberOfLogLinesOccurrences":{"shape":"NumberOfLogLinesOccurrences"}, + "LogEventTimestamp":{"shape":"Timestamp"} + } + }, + "LogAnomalyClasses":{ + "type":"list", + "member":{"shape":"LogAnomalyClass"}, + "max":10, + "min":0 + }, + "LogAnomalyShowcase":{ + "type":"structure", + "members":{ + "LogAnomalyClasses":{"shape":"LogAnomalyClasses"} + } + }, + "LogAnomalyShowcases":{ + "type":"list", + "member":{"shape":"LogAnomalyShowcase"}, + "max":20, + "min":0 + }, + "LogAnomalyToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "LogAnomalyType":{ + "type":"string", + "enum":[ + "KEYWORD", + "KEYWORD_TOKEN", + "FORMAT", + "HTTP_CODE", + "BLOCK_FORMAT", + "NUMERICAL_POINT", + "NUMERICAL_NAN", + "NEW_FIELD_NAME" + ] + }, + "LogEventId":{ + "type":"string", + "max":512, + "min":1 + }, + "LogGroupName":{ + "type":"string", + "max":512, + "min":1 + }, + "LogStreamName":{ + "type":"string", + "max":512, + "min":1 + }, + "LogsAnomalyDetectionIntegration":{ + "type":"structure", + "members":{ + "OptInStatus":{"shape":"OptInStatus"} + } + }, + "LogsAnomalyDetectionIntegrationConfig":{ + "type":"structure", + "members":{ + "OptInStatus":{"shape":"OptInStatus"} + } + }, "MeanTimeToRecoverInMilliseconds":{"type":"long"}, "MetricValue":{"type":"double"}, + "MonitoredResourceIdentifier":{ + "type":"structure", + "members":{ + "MonitoredResourceName":{"shape":"MonitoredResourceName"}, + "Type":{"shape":"ResourceType"}, + "ResourcePermission":{"shape":"ResourcePermission"} + } + }, + "MonitoredResourceIdentifiers":{ + "type":"list", + "member":{"shape":"MonitoredResourceIdentifier"} + }, + "MonitoredResourceName":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\.\\-_\\/#A-Za-z0-9]+" + }, "NotificationChannel":{ "type":"structure", "members":{ @@ -1503,6 +1708,8 @@ "NumOpenReactiveInsights":{"type":"integer"}, "NumProactiveInsights":{"type":"integer"}, "NumReactiveInsights":{"type":"integer"}, + "NumberOfLogLinesOccurrences":{"type":"integer"}, + "NumberOfLogLinesScanned":{"type":"integer"}, "OpsCenterIntegration":{ "type":"structure", "members":{ @@ -2003,12 +2210,27 @@ "error":{"httpStatusCode":404}, "exception":true }, + "ResourcePermission":{ + "type":"string", + "enum":[ + "FULL_PERMISSION", + "MISSING_PERMISSION" + ] + }, "ResourceType":{ "type":"string", "max":256, "min":1, "pattern":"^[a-zA-Z]+[a-zA-Z0-9-_:]*$" }, + "ResourceTypeFilter":{ + "type":"string", + "enum":["LOG_GROUPS"] + }, + "ResourceTypeFilters":{ + "type":"list", + "member":{"shape":"ResourceTypeFilter"} + }, "RetryAfterSeconds":{"type":"integer"}, "SearchInsightsAccountIdList":{ "type":"list", @@ -2117,7 +2339,8 @@ "ServiceIntegrationConfig":{ "type":"structure", "members":{ - "OpsCenter":{"shape":"OpsCenterIntegration"} + "OpsCenter":{"shape":"OpsCenterIntegration"}, + "LogsAnomalyDetection":{"shape":"LogsAnomalyDetectionIntegration"} } }, "ServiceName":{ @@ -2372,7 +2595,8 @@ "UpdateServiceIntegrationConfig":{ "type":"structure", "members":{ - "OpsCenter":{"shape":"OpsCenterIntegrationConfig"} + "OpsCenter":{"shape":"OpsCenterIntegrationConfig"}, + "LogsAnomalyDetection":{"shape":"LogsAnomalyDetectionIntegrationConfig"} } }, "UpdateServiceIntegrationRequest":{ diff --git a/apis/devops-guru/2020-12-01/docs-2.json b/apis/devops-guru/2020-12-01/docs-2.json index 81b4512e583..39a9fd0d05a 100644 --- a/apis/devops-guru/2020-12-01/docs-2.json +++ b/apis/devops-guru/2020-12-01/docs-2.json @@ -18,8 +18,10 @@ "GetCostEstimation": "

Returns an estimate of the monthly cost for DevOps Guru to analyze your Amazon Web Services resources. For more information, see Estimate your Amazon DevOps Guru costs and Amazon DevOps Guru pricing.

", "GetResourceCollection": "

Returns lists Amazon Web Services resources that are of the specified resource collection type. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

", "ListAnomaliesForInsight": "

Returns a list of the anomalies that belong to an insight that you specify using its ID.

", + "ListAnomalousLogGroups": "

Returns the list of log groups that contain log anomalies.

", "ListEvents": "

Returns a list of the events emitted by the resources that are evaluated by DevOps Guru. You can use filters to specify which events are returned.

", "ListInsights": "

Returns a list of insights in your Amazon Web Services account. You can specify which insights are returned by their start time and status (ONGOING, CLOSED, or ANY).

", + "ListMonitoredResources": "

Returns the list of all log groups that are being monitored and tagged by DevOps Guru.

", "ListNotificationChannels": "

Returns a list of notification channels configured for DevOps Guru. Each notification channel is used to notify you when DevOps Guru generates an insight that contains information about how to improve your operations. The one supported notification channel is Amazon Simple Notification Service (Amazon SNS).

", "ListOrganizationInsights": "

Returns a list of insights associated with the account or OU Id.

", "ListRecommendations": "

Returns a list of a specified insight's recommendations. Each recommendation includes a list of related metrics and a list of related events.

", @@ -80,6 +82,18 @@ "EventSourcesConfig$AmazonCodeGuruProfiler": "

Information about whether DevOps Guru is configured to consume recommendations which are generated from AWS CodeGuru Profiler.

" } }, + "AnomalousLogGroup": { + "base": "

An Amazon CloudWatch log group that contains log anomalies and is used to generate an insight.

", + "refs": { + "AnomalousLogGroups$member": null + } + }, + "AnomalousLogGroups": { + "base": null, + "refs": { + "ListAnomalousLogGroupsResponse$AnomalousLogGroups": "

The list of Amazon CloudWatch log groups that are related to an insight.

" + } + }, "AnomalyDescription": { "base": null, "refs": { @@ -295,7 +309,7 @@ } }, "CloudWatchMetricsDimension": { - "base": "

The dimension of am Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in your account for operational problems and anomalous behavior. A dimension is a name/value pair that is part of the identity of a metric. A metric can have up to 10 dimensions. For more information, see Dimensions in the Amazon CloudWatch User Guide.

", + "base": "

The dimension of an Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in your account for operational problems and anomalous behavior. A dimension is a name/value pair that is part of the identity of a metric. A metric can have up to 10 dimensions. For more information, see Dimensions in the Amazon CloudWatch User Guide.

", "refs": { "CloudWatchMetricsDimensions$member": null } @@ -655,6 +669,12 @@ "ListEventsResponse$Events": "

A list of the requested events.

" } }, + "Explanation": { + "base": null, + "refs": { + "LogAnomalyClass$Explanation": "

The explanation for why the log event is considered an anomaly.

" + } + }, "GetCostEstimationRequest": { "base": null, "refs": { @@ -710,6 +730,8 @@ "DescribeInsightRequest$Id": "

The ID of the insight.

", "InsightFeedback$Id": "

The insight feedback ID.

", "ListAnomaliesForInsightRequest$InsightId": "

The ID of the insight. The returned anomalies belong to this insight.

", + "ListAnomalousLogGroupsRequest$InsightId": "

The ID of the insight containing the log groups.

", + "ListAnomalousLogGroupsResponse$InsightId": "

The ID of the insight containing the log groups.

", "ListEventsFilters$InsightId": "

An ID of an insight that is related to the events you want to filter for.

", "ListRecommendationsRequest$InsightId": "

The ID of the requested insight.

", "ProactiveAnomaly$AssociatedInsightId": "

The ID of the insight that contains this anomaly. An insight is composed of related anomalies.

", @@ -815,6 +837,22 @@ "refs": { } }, + "ListAnomalousLogGroupsMaxResults": { + "base": null, + "refs": { + "ListAnomalousLogGroupsRequest$MaxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "ListAnomalousLogGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListAnomalousLogGroupsResponse": { + "base": null, + "refs": { + } + }, "ListEventsFilters": { "base": "

Filters you can use to specify which events are returned when ListEvents is called.

", "refs": { @@ -891,6 +929,28 @@ "ListOrganizationInsightsRequest$StatusFilter": null } }, + "ListMonitoredResourcesFilters": { + "base": "

Filters to determine which monitored resources you want to retrieve. You can filter by resource type or resource permission status.

", + "refs": { + "ListMonitoredResourcesRequest$Filters": "

Filters to determine which monitored resources you want to retrieve. You can filter by resource type or resource permission status.

" + } + }, + "ListMonitoredResourcesMaxResults": { + "base": null, + "refs": { + "ListMonitoredResourcesRequest$MaxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "ListMonitoredResourcesRequest": { + "base": null, + "refs": { + } + }, + "ListMonitoredResourcesResponse": { + "base": null, + "refs": { + } + }, "ListNotificationChannelsRequest": { "base": null, "refs": { @@ -927,6 +987,72 @@ "ListRecommendationsRequest$Locale": "

A locale that specifies the language to use for recommendations.

" } }, + "LogAnomalyClass": { + "base": "

Information about an anomalous log event found within a log group.

", + "refs": { + "LogAnomalyClasses$member": null + } + }, + "LogAnomalyClasses": { + "base": null, + "refs": { + "LogAnomalyShowcase$LogAnomalyClasses": "

A list of anomalous log events that may be related.

" + } + }, + "LogAnomalyShowcase": { + "base": "

A cluster of similar anomalous log events found within a log group.

", + "refs": { + "LogAnomalyShowcases$member": null + } + }, + "LogAnomalyShowcases": { + "base": null, + "refs": { + "AnomalousLogGroup$LogAnomalyShowcases": "

The log anomalies in the log group. Each log anomaly displayed represents a cluster of similar anomalous log events.

" + } + }, + "LogAnomalyToken": { + "base": null, + "refs": { + "LogAnomalyClass$LogAnomalyToken": "

The token where the anomaly was detected. This may refer to an exception or another location, or it may be blank for log anomalies such as format anomalies.

" + } + }, + "LogAnomalyType": { + "base": null, + "refs": { + "LogAnomalyClass$LogAnomalyType": "

The type of log anomaly that has been detected.

" + } + }, + "LogEventId": { + "base": null, + "refs": { + "LogAnomalyClass$LogEventId": "

The ID of the log event.

" + } + }, + "LogGroupName": { + "base": null, + "refs": { + "AnomalousLogGroup$LogGroupName": "

The name of the CloudWatch log group.

" + } + }, + "LogStreamName": { + "base": null, + "refs": { + "LogAnomalyClass$LogStreamName": "

The name of the Amazon CloudWatch log stream that the anomalous log event belongs to. A log stream is a sequence of log events that share the same source.

" + } + }, + "LogsAnomalyDetectionIntegration": { + "base": "

Information about the integration of DevOps Guru with CloudWatch log groups for log anomaly detection.

", + "refs": { + "ServiceIntegrationConfig$LogsAnomalyDetection": "

Information about whether DevOps Guru is configured to perform log anomaly detection on Amazon CloudWatch log groups.

" + } + }, + "LogsAnomalyDetectionIntegrationConfig": { + "base": "

Information about the integration of DevOps Guru with CloudWatch log groups for log anomaly detection. You can use this to update the configuration.

", + "refs": { + "UpdateServiceIntegrationConfig$LogsAnomalyDetection": "

Information about whether DevOps Guru is configured to perform log anomaly detection on Amazon CloudWatch log groups.

" + } + }, "MeanTimeToRecoverInMilliseconds": { "base": null, "refs": { @@ -940,6 +1066,24 @@ "TimestampMetricValuePair$MetricValue": "

Value of the anomalous metric data point at respective Timestamp.

" } }, + "MonitoredResourceIdentifier": { + "base": "

Information about the resource that is being monitored, including the name of the resource, the type of resource, and whether or not permission is given to DevOps Guru to access that resource.

", + "refs": { + "MonitoredResourceIdentifiers$member": null + } + }, + "MonitoredResourceIdentifiers": { + "base": null, + "refs": { + "ListMonitoredResourcesResponse$MonitoredResourceIdentifiers": "

Information about the resource that is being monitored, including the name of the resource, the type of resource, and whether or not permission is given to DevOps Guru to access that resource.

" + } + }, + "MonitoredResourceName": { + "base": null, + "refs": { + "MonitoredResourceIdentifier$MonitoredResourceName": "

The name of the resource being monitored.

" + } + }, "NotificationChannel": { "base": "

Information about a notification channel. A notification channel is used to notify you when DevOps Guru creates an insight. The one supported notification channel is Amazon Simple Notification Service (Amazon SNS).

If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see Permissions for cross account Amazon SNS topics.

If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. For more information, see Permissions for cross account Amazon SNS topics.

If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see Permissions for Amazon Web Services KMS–encrypted Amazon SNS topics.

", "refs": { @@ -1002,6 +1146,18 @@ "DescribeOrganizationOverviewResponse$ReactiveInsights": "

An integer that specifies the number of open reactive insights in your Amazon Web Services account.

" } }, + "NumberOfLogLinesOccurrences": { + "base": null, + "refs": { + "LogAnomalyClass$NumberOfLogLinesOccurrences": "

The number of log lines where this anomalous log event occurs.

" + } + }, + "NumberOfLogLinesScanned": { + "base": null, + "refs": { + "AnomalousLogGroup$NumberOfLogLinesScanned": "

The number of log lines that were scanned for anomalous log events.

" + } + }, "OpsCenterIntegration": { "base": "

Information about whether DevOps Guru is configured to create an OpsItem in Amazon Web Services Systems Manager OpsCenter for each created insight.

", "refs": { @@ -1009,7 +1165,7 @@ } }, "OpsCenterIntegrationConfig": { - "base": "

Information about whether DevOps Guru is configured to create an OpsItem in Amazon Web Services Systems Manager OpsCenter for each created insight.

", + "base": "

Information about whether DevOps Guru is configured to create an OpsItem in Amazon Web Services Systems Manager OpsCenter for each created insight. You can use this to update the configuration.

", "refs": { "UpdateServiceIntegrationConfig$OpsCenter": null } @@ -1017,6 +1173,8 @@ "OptInStatus": { "base": "

Specifies if DevOps Guru is enabled to create an Amazon Web Services Systems Manager OpsItem for each created insight.

", "refs": { + "LogsAnomalyDetectionIntegration$OptInStatus": "

Specifies if DevOps Guru is configured to perform log anomaly detection on CloudWatch log groups.

", + "LogsAnomalyDetectionIntegrationConfig$OptInStatus": "

Specifies if DevOps Guru is configured to perform log anomaly detection on CloudWatch log groups.

", "OpsCenterIntegration$OptInStatus": "

Specifies if DevOps Guru is enabled to create an Amazon Web Services Systems Manager OpsItem for each created insight.

", "OpsCenterIntegrationConfig$OptInStatus": "

Specifies if DevOps Guru is enabled to create an Amazon Web Services Systems Manager OpsItem for each created insight.

" } @@ -1554,14 +1712,34 @@ "refs": { } }, + "ResourcePermission": { + "base": null, + "refs": { + "ListMonitoredResourcesFilters$ResourcePermission": "

The permission status of a resource.

", + "MonitoredResourceIdentifier$ResourcePermission": "

The permission status of a resource.

" + } + }, "ResourceType": { "base": null, "refs": { "AnomalyResource$Type": "

The type of the Amazon Web Services resource.

", "AnomalySourceMetadata$SourceResourceType": "

The anomaly's resource type.

", + "MonitoredResourceIdentifier$Type": "

The type of resource being monitored.

", "ServiceResourceCost$Type": "

The type of the Amazon Web Services resource.

" } }, + "ResourceTypeFilter": { + "base": null, + "refs": { + "ResourceTypeFilters$member": null + } + }, + "ResourceTypeFilters": { + "base": null, + "refs": { + "ListMonitoredResourcesFilters$ResourceTypeFilters": "

The type of resource that you wish to retrieve, such as log groups.

" + } + }, "RetryAfterSeconds": { "base": null, "refs": { @@ -1806,6 +1984,8 @@ "Timestamp": { "base": null, "refs": { + "AnomalousLogGroup$ImpactStartTime": "

The time the anomalous log events began. The impact start time indicates the time of the first log anomaly event that occurs.

", + "AnomalousLogGroup$ImpactEndTime": "

The time the anomalous log events stopped.

", "AnomalyReportedTimeRange$OpenTime": "

The time when an anomaly is opened.

", "AnomalyReportedTimeRange$CloseTime": "

The time when an anomaly is closed.

", "AnomalyTimeRange$StartTime": "

The time when the anomalous behavior started.

", @@ -1823,6 +2003,7 @@ "EventTimeRange$ToTime": "

The time when the event ended.

", "InsightTimeRange$StartTime": "

The time when the behavior described in an insight started.

", "InsightTimeRange$EndTime": "

The time when the behavior described in an insight ended.

", + "LogAnomalyClass$LogEventTimestamp": "

The time of the first occurrence of the anomalous log event.

", "PredictionTimeRange$StartTime": "

The time range during which a metric limit is expected to be exceeded. This applies to proactive insights only.

", "PredictionTimeRange$EndTime": "

The time when the behavior in a proactive insight is expected to end.

", "ProactiveAnomaly$UpdateTime": "

The time of the anomaly's most recent update.

", @@ -1941,10 +2122,14 @@ "GetResourceCollectionResponse$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "ListAnomaliesForInsightRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "ListAnomaliesForInsightResponse$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", + "ListAnomalousLogGroupsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", + "ListAnomalousLogGroupsResponse$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "ListEventsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "ListEventsResponse$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "ListInsightsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "ListInsightsResponse$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", + "ListMonitoredResourcesRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", + "ListMonitoredResourcesResponse$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "ListNotificationChannelsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "ListNotificationChannelsResponse$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "ListOrganizationInsightsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", diff --git a/apis/devops-guru/2020-12-01/paginators-1.json b/apis/devops-guru/2020-12-01/paginators-1.json index e3241ed94db..bf3b700e7ae 100644 --- a/apis/devops-guru/2020-12-01/paginators-1.json +++ b/apis/devops-guru/2020-12-01/paginators-1.json @@ -52,6 +52,15 @@ "ProactiveAnomalies" ] }, + "ListAnomalousLogGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": [ + "InsightId", + "AnomalousLogGroups" + ] + }, "ListEvents": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -67,6 +76,14 @@ "ReactiveInsights" ] }, + "ListMonitoredResources": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": [ + "MonitoredResourceIdentifiers" + ] + }, "ListNotificationChannels": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/apis/glue/2017-03-31/docs-2.json b/apis/glue/2017-03-31/docs-2.json index e073d3b5738..1c4e17266a4 100644 --- a/apis/glue/2017-03-31/docs-2.json +++ b/apis/glue/2017-03-31/docs-2.json @@ -5067,7 +5067,7 @@ "GetMLTransformResponse$MaxCapacity": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

", "Job$MaxCapacity": "

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:

For Glue version 2.0 jobs, you cannot instead specify a Maximum capacity. Instead, you should specify a Worker type and the Number of workers.

", "JobRun$MaxCapacity": "

The number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

", - "JobRun$DPUSeconds": "

This field populates only when an Auto Scaling job run completes, and represents the total time each executor ran during the lifecycle of a job run in seconds, multiplied by a DPU factor (1 for G.1X and 2 for G.2X workers). This value may be different than the executionEngineRuntime * MaxCapacity as in the case of Auto Scaling jobs, as the number of executors running at a given time may be less than the MaxCapacity. Therefore, it is possible that the value of DPUSeconds is less than executionEngineRuntime * MaxCapacity.

", + "JobRun$DPUSeconds": "

This field populates only for Auto Scaling job runs, and represents the total time each executor ran during the lifecycle of a job run in seconds, multiplied by a DPU factor (1 for G.1X, 2 for G.2X, or 0.25 for G.025X workers). This value may be different than the executionEngineRuntime * MaxCapacity as in the case of Auto Scaling jobs, as the number of executors running at a given time may be less than the MaxCapacity. Therefore, it is possible that the value of DPUSeconds is less than executionEngineRuntime * MaxCapacity.

", "JobUpdate$MaxCapacity": "

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

For Glue version 2.0 jobs, you cannot instead specify a Maximum capacity. Instead, you should specify a Worker type and the Number of workers.

", "MLTransform$MaxCapacity": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

", "Session$MaxCapacity": "

The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

", @@ -6818,10 +6818,10 @@ "CreateSessionRequest$IdleTimeout": "

The number of seconds when idle before request times out.

", "GetMLTransformResponse$Timeout": "

The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", "Job$Timeout": "

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", - "JobRun$Timeout": "

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

", + "JobRun$Timeout": "

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. This value overrides the timeout value set in the parent job.

Streaming jobs do not have a timeout. The default for non-streaming jobs is 2,880 minutes (48 hours).

", "JobUpdate$Timeout": "

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", "MLTransform$Timeout": "

The timeout in minutes of the machine learning transform.

", - "StartJobRunRequest$Timeout": "

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

", + "StartJobRunRequest$Timeout": "

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. This value overrides the timeout value set in the parent job.

Streaming jobs do not have a timeout. The default for non-streaming jobs is 2,880 minutes (48 hours).

", "UpdateMLTransformRequest$Timeout": "

The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" } }, diff --git a/apis/sagemaker-edge/2020-09-23/api-2.json b/apis/sagemaker-edge/2020-09-23/api-2.json index 388b0f2a94d..8f8a4073c68 100644 --- a/apis/sagemaker-edge/2020-09-23/api-2.json +++ b/apis/sagemaker-edge/2020-09-23/api-2.json @@ -12,6 +12,18 @@ "uid":"sagemaker-edge-2020-09-23" }, "operations":{ + "GetDeployments":{ + "name":"GetDeployments", + "http":{ + "method":"POST", + "requestUri":"/GetDeployments" + }, + "input":{"shape":"GetDeploymentsRequest"}, + "output":{"shape":"GetDeploymentsResult"}, + "errors":[ + {"shape":"InternalServiceException"} + ] + }, "GetDeviceRegistration":{ "name":"GetDeviceRegistration", "http":{ @@ -42,6 +54,75 @@ "max":1000, "min":1 }, + "Checksum":{ + "type":"structure", + "members":{ + "Type":{"shape":"ChecksumType"}, + "Sum":{"shape":"ChecksumString"} + } + }, + "ChecksumString":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-z0-9](-*[a-z0-9])*$" + }, + "ChecksumType":{ + "type":"string", + "enum":["SHA1"] + }, + "Definition":{ + "type":"structure", + "members":{ + "ModelHandle":{"shape":"EntityName"}, + "S3Url":{"shape":"S3Uri"}, + "Checksum":{"shape":"Checksum"}, + "State":{"shape":"ModelState"} + } + }, + "Definitions":{ + "type":"list", + "member":{"shape":"Definition"} + }, + "DeploymentModel":{ + "type":"structure", + "members":{ + "ModelHandle":{"shape":"EntityName"}, + "ModelName":{"shape":"ModelName"}, + "ModelVersion":{"shape":"Version"}, + "DesiredState":{"shape":"ModelState"}, + "State":{"shape":"ModelState"}, + "Status":{"shape":"DeploymentStatus"}, + "StatusReason":{"shape":"String"}, + "RollbackFailureReason":{"shape":"String"} + } + }, + "DeploymentModels":{ + "type":"list", + "member":{"shape":"DeploymentModel"} + }, + "DeploymentResult":{ + "type":"structure", + "members":{ + "DeploymentName":{"shape":"EntityName"}, + "DeploymentStatus":{"shape":"EntityName"}, + "DeploymentStatusMessage":{"shape":"String"}, + "DeploymentStartTime":{"shape":"Timestamp"}, + "DeploymentEndTime":{"shape":"Timestamp"}, + "DeploymentModels":{"shape":"DeploymentModels"} + } + }, + "DeploymentStatus":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAIL" + ] + }, + "DeploymentType":{ + "type":"string", + "enum":["Model"] + }, "DeviceFleetName":{ "type":"string", "max":63, @@ -65,6 +146,19 @@ "min":1, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9\\/])*$" }, + "EdgeDeployment":{ + "type":"structure", + "members":{ + "DeploymentName":{"shape":"EntityName"}, + "Type":{"shape":"DeploymentType"}, + "FailureHandlingPolicy":{"shape":"FailureHandlingPolicy"}, + "Definitions":{"shape":"Definitions"} + } + }, + "EdgeDeployments":{ + "type":"list", + "member":{"shape":"EdgeDeployment"} + }, "EdgeMetric":{ "type":"structure", "members":{ @@ -78,7 +172,37 @@ "type":"list", "member":{"shape":"EdgeMetric"} }, + "EntityName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, "ErrorMessage":{"type":"string"}, + "FailureHandlingPolicy":{ + "type":"string", + "enum":[ + "ROLLBACK_ON_FAILURE", + "DO_NOTHING" + ] + }, + "GetDeploymentsRequest":{ + "type":"structure", + "required":[ + "DeviceName", + "DeviceFleetName" + ], + "members":{ + "DeviceName":{"shape":"DeviceName"}, + "DeviceFleetName":{"shape":"DeviceFleetName"} + } + }, + "GetDeploymentsResult":{ + "type":"structure", + "members":{ + "Deployments":{"shape":"EdgeDeployments"} + } + }, "GetDeviceRegistrationRequest":{ "type":"structure", "required":[ @@ -126,10 +250,22 @@ "min":4, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" }, + "ModelState":{ + "type":"string", + "enum":[ + "DEPLOY", + "UNDEPLOY" + ] + }, "Models":{ "type":"list", "member":{"shape":"Model"} }, + "S3Uri":{ + "type":"string", + "max":1024, + "pattern":"^s3://([^/]+)/?(.*)$" + }, "SendHeartbeatRequest":{ "type":"structure", "required":[ @@ -142,9 +278,11 @@ "Models":{"shape":"Models"}, "AgentVersion":{"shape":"Version"}, "DeviceName":{"shape":"DeviceName"}, - "DeviceFleetName":{"shape":"DeviceFleetName"} + "DeviceFleetName":{"shape":"DeviceFleetName"}, + "DeploymentResult":{"shape":"DeploymentResult"} } }, + "String":{"type":"string"}, "Timestamp":{"type":"timestamp"}, "Value":{"type":"double"}, "Version":{ diff --git a/apis/sagemaker-edge/2020-09-23/docs-2.json b/apis/sagemaker-edge/2020-09-23/docs-2.json index 5fb96c8930a..965abae787a 100644 --- a/apis/sagemaker-edge/2020-09-23/docs-2.json +++ b/apis/sagemaker-edge/2020-09-23/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "

SageMaker Edge Manager dataplane service for communicating with active agents.

", "operations": { + "GetDeployments": "

Use to get the active deployments from a device.

", "GetDeviceRegistration": "

Use to check if a device is registered with SageMaker Edge Manager.

", "SendHeartbeat": "

Use to get the current status of devices registered on SageMaker Edge Manager.

" }, @@ -12,9 +13,70 @@ "GetDeviceRegistrationResult$CacheTTL": "

The amount of time, in seconds, that the registration status is stored on the device’s cache before it is refreshed.

" } }, + "Checksum": { + "base": "

Information about the checksum of a model deployed on a device.

", + "refs": { + "Definition$Checksum": "

The checksum information of the model.

" + } + }, + "ChecksumString": { + "base": null, + "refs": { + "Checksum$Sum": "

The checksum of the model.

" + } + }, + "ChecksumType": { + "base": null, + "refs": { + "Checksum$Type": "

The type of the checksum.

" + } + }, + "Definition": { + "base": "

", + "refs": { + "Definitions$member": null + } + }, + "Definitions": { + "base": null, + "refs": { + "EdgeDeployment$Definitions": "

Returns a list of Definition objects.

" + } + }, + "DeploymentModel": { + "base": "

", + "refs": { + "DeploymentModels$member": null + } + }, + "DeploymentModels": { + "base": null, + "refs": { + "DeploymentResult$DeploymentModels": "

Returns a list of models deployed on the agent.

" + } + }, + "DeploymentResult": { + "base": "

Information about the result of a deployment on an edge device that is registered with SageMaker Edge Manager.

", + "refs": { + "SendHeartbeatRequest$DeploymentResult": "

Returns the result of a deployment on the device.

" + } + }, + "DeploymentStatus": { + "base": null, + "refs": { + "DeploymentModel$Status": "

Returns the deployment status of the model.

" + } + }, + "DeploymentType": { + "base": null, + "refs": { + "EdgeDeployment$Type": "

The type of the deployment.

" + } + }, "DeviceFleetName": { "base": null, "refs": { + "GetDeploymentsRequest$DeviceFleetName": "

The name of the fleet that the device belongs to.

", "GetDeviceRegistrationRequest$DeviceFleetName": "

The name of the fleet that the device belongs to.

", "SendHeartbeatRequest$DeviceFleetName": "

The name of the fleet that the device belongs to.

" } @@ -22,6 +84,7 @@ "DeviceName": { "base": null, "refs": { + "GetDeploymentsRequest$DeviceName": "

The unique name of the device you want to get the configuration of active deployments from.

", "GetDeviceRegistrationRequest$DeviceName": "

The unique name of the device you want to get the registration status from.

", "SendHeartbeatRequest$DeviceName": "

The unique name of the device.

" } @@ -38,6 +101,18 @@ "EdgeMetric$Dimension": "

The dimension of metrics published.

" } }, + "EdgeDeployment": { + "base": "

Information about a deployment on an edge device that is registered with SageMaker Edge Manager.

", + "refs": { + "EdgeDeployments$member": null + } + }, + "EdgeDeployments": { + "base": null, + "refs": { + "GetDeploymentsResult$Deployments": "

Returns a list of the configurations of the active deployments on the device.

" + } + }, "EdgeMetric": { "base": "

Information required for edge device metrics.

", "refs": { @@ -51,12 +126,38 @@ "SendHeartbeatRequest$AgentMetrics": "

For internal use. Returns a list of SageMaker Edge Manager agent operating metrics.

" } }, + "EntityName": { + "base": null, + "refs": { + "Definition$ModelHandle": "

The unique model handle.

", + "DeploymentModel$ModelHandle": "

The unique handle of the model.

", + "DeploymentResult$DeploymentName": "

The name and unique ID of the deployment.

", + "DeploymentResult$DeploymentStatus": "

Returns the bucket error code.

", + "EdgeDeployment$DeploymentName": "

The name and unique ID of the deployment.

" + } + }, "ErrorMessage": { "base": null, "refs": { "InternalServiceException$Message": null } }, + "FailureHandlingPolicy": { + "base": null, + "refs": { + "EdgeDeployment$FailureHandlingPolicy": "

Determines whether to rollback to previous configuration if deployment fails.

" + } + }, + "GetDeploymentsRequest": { + "base": null, + "refs": { + } + }, + "GetDeploymentsResult": { + "base": null, + "refs": { + } + }, "GetDeviceRegistrationRequest": { "base": null, "refs": { @@ -68,7 +169,7 @@ } }, "InternalServiceException": { - "base": "

An internal failure occurred. Try your request again. If the problem persists, contact AWS customer support.

", + "base": "

An internal failure occurred. Try your request again. If the problem persists, contact Amazon Web Services customer support.

", "refs": { } }, @@ -87,23 +188,48 @@ "ModelName": { "base": null, "refs": { + "DeploymentModel$ModelName": "

The name of the model.

", "Model$ModelName": "

The name of the model.

" } }, + "ModelState": { + "base": null, + "refs": { + "Definition$State": "

The desired state of the model.

", + "DeploymentModel$DesiredState": "

The desired state of the model.

", + "DeploymentModel$State": "

Returns the current state of the model.

" + } + }, "Models": { "base": null, "refs": { "SendHeartbeatRequest$Models": "

Returns a list of models deployed on the the device.

" } }, + "S3Uri": { + "base": null, + "refs": { + "Definition$S3Url": "

The absolute S3 location of the model.

" + } + }, "SendHeartbeatRequest": { "base": null, "refs": { } }, + "String": { + "base": null, + "refs": { + "DeploymentModel$StatusReason": "

Returns the error message for the deployment status result.

", + "DeploymentModel$RollbackFailureReason": "

Returns the error message if there is a rollback.

", + "DeploymentResult$DeploymentStatusMessage": "

Returns the detailed error message.

" + } + }, "Timestamp": { "base": null, "refs": { + "DeploymentResult$DeploymentStartTime": "

The timestamp of when the deployment was started on the agent.

", + "DeploymentResult$DeploymentEndTime": "

The timestamp of when the deployment was ended, and the agent got the deployment results.

", "EdgeMetric$Timestamp": "

Timestamp of when the metric was requested.

", "Model$LatestSampleTime": "

The timestamp of the last data sample taken.

", "Model$LatestInference": "

The timestamp of the last inference that was made.

" @@ -118,6 +244,7 @@ "Version": { "base": null, "refs": { + "DeploymentModel$ModelVersion": "

The version of the model.

", "Model$ModelVersion": "

The version of the model.

", "SendHeartbeatRequest$AgentVersion": "

Returns the version of the agent.

" } diff --git a/apis/sagemaker/2017-07-24/api-2.json b/apis/sagemaker/2017-07-24/api-2.json index c8553a41d2f..d0d9487546c 100644 --- a/apis/sagemaker/2017-07-24/api-2.json +++ b/apis/sagemaker/2017-07-24/api-2.json @@ -14504,7 +14504,6 @@ }, "QueryLineageRequest":{ "type":"structure", - "required":["StartArns"], "members":{ "StartArns":{"shape":"QueryLineageStartArns"}, "Direction":{"shape":"Direction"}, @@ -14527,7 +14526,7 @@ "type":"list", "member":{"shape":"AssociationEntityArn"}, "max":1, - "min":1 + "min":0 }, "QueryLineageTypes":{ "type":"list", diff --git a/apis/workspaces/2015-04-08/api-2.json b/apis/workspaces/2015-04-08/api-2.json index bd7123ae984..3e6ed939dc8 100644 --- a/apis/workspaces/2015-04-08/api-2.json +++ b/apis/workspaces/2015-04-08/api-2.json @@ -560,6 +560,7 @@ "errors":[ {"shape":"InvalidParameterValuesException"}, {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"} ] }, @@ -1063,7 +1064,7 @@ }, "ClientLoginMessage":{ "type":"string", - "max":850, + "max":2000, "min":0, "pattern":"^.*$" }, diff --git a/gems/aws-sdk-devopsguru/CHANGELOG.md b/gems/aws-sdk-devopsguru/CHANGELOG.md index 0ff23d5b010..0fa4e74fffb 100644 --- a/gems/aws-sdk-devopsguru/CHANGELOG.md +++ b/gems/aws-sdk-devopsguru/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.24.0 (2022-07-19) +------------------ + +* Feature - Added new APIs for log anomaly detection feature. + 1.23.0 (2022-04-12) ------------------ diff --git a/gems/aws-sdk-devopsguru/VERSION b/gems/aws-sdk-devopsguru/VERSION index a6c2798a482..53cc1a6f929 100644 --- a/gems/aws-sdk-devopsguru/VERSION +++ b/gems/aws-sdk-devopsguru/VERSION @@ -1 +1 @@ -1.23.0 +1.24.0 diff --git a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru.rb b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru.rb index 29bcbd1abb9..d9659a49449 100644 --- a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru.rb +++ b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru.rb @@ -48,6 +48,6 @@ # @!group service module Aws::DevOpsGuru - GEM_VERSION = '1.23.0' + GEM_VERSION = '1.24.0' end diff --git a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client.rb b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client.rb index fd3026ceb00..0af1db9b2a7 100644 --- a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client.rb +++ b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client.rb @@ -1026,6 +1026,7 @@ def describe_resource_collection_health(params = {}, options = {}) # @example Response structure # # resp.service_integration.ops_center.opt_in_status #=> String, one of "ENABLED", "DISABLED" + # resp.service_integration.logs_anomaly_detection.opt_in_status #=> String, one of "ENABLED", "DISABLED" # # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeServiceIntegration AWS API Documentation # @@ -1328,6 +1329,64 @@ def list_anomalies_for_insight(params = {}, options = {}) req.send_request(options) end + # Returns the list of log groups that contain log anomalies. + # + # @option params [required, String] :insight_id + # The ID of the insight containing the log groups. + # + # @option params [Integer] :max_results + # The maximum number of results to return with a single call. To + # retrieve the remaining results, make another call with the returned + # `nextToken` value. + # + # @option params [String] :next_token + # The pagination token to use to retrieve the next page of results for + # this operation. If this value is null, it retrieves the first page. + # + # @return [Types::ListAnomalousLogGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListAnomalousLogGroupsResponse#insight_id #insight_id} => String + # * {Types::ListAnomalousLogGroupsResponse#anomalous_log_groups #anomalous_log_groups} => Array<Types::AnomalousLogGroup> + # * {Types::ListAnomalousLogGroupsResponse#next_token #next_token} => String + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_anomalous_log_groups({ + # insight_id: "InsightId", # required + # max_results: 1, + # next_token: "UuidNextToken", + # }) + # + # @example Response structure + # + # resp.insight_id #=> String + # resp.anomalous_log_groups #=> Array + # resp.anomalous_log_groups[0].log_group_name #=> String + # resp.anomalous_log_groups[0].impact_start_time #=> Time + # resp.anomalous_log_groups[0].impact_end_time #=> Time + # resp.anomalous_log_groups[0].number_of_log_lines_scanned #=> Integer + # resp.anomalous_log_groups[0].log_anomaly_showcases #=> Array + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes #=> Array + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes[0].log_stream_name #=> String + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes[0].log_anomaly_type #=> String, one of "KEYWORD", "KEYWORD_TOKEN", "FORMAT", "HTTP_CODE", "BLOCK_FORMAT", "NUMERICAL_POINT", "NUMERICAL_NAN", "NEW_FIELD_NAME" + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes[0].log_anomaly_token #=> String + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes[0].log_event_id #=> String + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes[0].explanation #=> String + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes[0].number_of_log_lines_occurrences #=> Integer + # resp.anomalous_log_groups[0].log_anomaly_showcases[0].log_anomaly_classes[0].log_event_timestamp #=> Time + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListAnomalousLogGroups AWS API Documentation + # + # @overload list_anomalous_log_groups(params = {}) + # @param [Hash] params ({}) + def list_anomalous_log_groups(params = {}, options = {}) + req = build_request(:list_anomalous_log_groups, params) + req.send_request(options) + end + # Returns a list of the events emitted by the resources that are # evaluated by DevOps Guru. You can use filters to specify which events # are returned. @@ -1513,6 +1572,57 @@ def list_insights(params = {}, options = {}) req.send_request(options) end + # Returns the list of all log groups that are being monitored and tagged + # by DevOps Guru. + # + # @option params [required, Types::ListMonitoredResourcesFilters] :filters + # Filters to determine which monitored resources you want to retrieve. + # You can filter by resource type or resource permission status. + # + # @option params [Integer] :max_results + # The maximum number of results to return with a single call. To + # retrieve the remaining results, make another call with the returned + # `nextToken` value. + # + # @option params [String] :next_token + # The pagination token to use to retrieve the next page of results for + # this operation. If this value is null, it retrieves the first page. + # + # @return [Types::ListMonitoredResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListMonitoredResourcesResponse#monitored_resource_identifiers #monitored_resource_identifiers} => Array<Types::MonitoredResourceIdentifier> + # * {Types::ListMonitoredResourcesResponse#next_token #next_token} => String + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_monitored_resources({ + # filters: { # required + # resource_permission: "FULL_PERMISSION", # required, accepts FULL_PERMISSION, MISSING_PERMISSION + # resource_type_filters: ["LOG_GROUPS"], # required, accepts LOG_GROUPS + # }, + # max_results: 1, + # next_token: "UuidNextToken", + # }) + # + # @example Response structure + # + # resp.monitored_resource_identifiers #=> Array + # resp.monitored_resource_identifiers[0].monitored_resource_name #=> String + # resp.monitored_resource_identifiers[0].type #=> String + # resp.monitored_resource_identifiers[0].resource_permission #=> String, one of "FULL_PERMISSION", "MISSING_PERMISSION" + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListMonitoredResources AWS API Documentation + # + # @overload list_monitored_resources(params = {}) + # @param [Hash] params ({}) + def list_monitored_resources(params = {}, options = {}) + req = build_request(:list_monitored_resources, params) + req.send_request(options) + end + # Returns a list of notification channels configured for DevOps Guru. # Each notification channel is used to notify you when DevOps Guru # generates an insight that contains information about how to improve @@ -2147,6 +2257,9 @@ def update_resource_collection(params = {}, options = {}) # ops_center: { # opt_in_status: "ENABLED", # accepts ENABLED, DISABLED # }, + # logs_anomaly_detection: { + # opt_in_status: "ENABLED", # accepts ENABLED, DISABLED + # }, # }, # }) # @@ -2172,7 +2285,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-devopsguru' - context[:gem_version] = '1.23.0' + context[:gem_version] = '1.24.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client_api.rb b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client_api.rb index 7d35193b0ad..7444ce4603b 100644 --- a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client_api.rb +++ b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/client_api.rb @@ -21,6 +21,8 @@ module ClientApi AddNotificationChannelRequest = Shapes::StructureShape.new(name: 'AddNotificationChannelRequest') AddNotificationChannelResponse = Shapes::StructureShape.new(name: 'AddNotificationChannelResponse') AmazonCodeGuruProfilerIntegration = Shapes::StructureShape.new(name: 'AmazonCodeGuruProfilerIntegration') + AnomalousLogGroup = Shapes::StructureShape.new(name: 'AnomalousLogGroup') + AnomalousLogGroups = Shapes::ListShape.new(name: 'AnomalousLogGroups') AnomalyDescription = Shapes::StringShape.new(name: 'AnomalyDescription') AnomalyId = Shapes::StringShape.new(name: 'AnomalyId') AnomalyLimit = Shapes::FloatShape.new(name: 'AnomalyLimit') @@ -111,6 +113,7 @@ module ClientApi EventSourcesConfig = Shapes::StructureShape.new(name: 'EventSourcesConfig') EventTimeRange = Shapes::StructureShape.new(name: 'EventTimeRange') Events = Shapes::ListShape.new(name: 'Events') + Explanation = Shapes::StringShape.new(name: 'Explanation') GetCostEstimationRequest = Shapes::StructureShape.new(name: 'GetCostEstimationRequest') GetCostEstimationResponse = Shapes::StructureShape.new(name: 'GetCostEstimationResponse') GetResourceCollectionRequest = Shapes::StructureShape.new(name: 'GetResourceCollectionRequest') @@ -131,6 +134,9 @@ module ClientApi ListAnomaliesForInsightMaxResults = Shapes::IntegerShape.new(name: 'ListAnomaliesForInsightMaxResults') ListAnomaliesForInsightRequest = Shapes::StructureShape.new(name: 'ListAnomaliesForInsightRequest') ListAnomaliesForInsightResponse = Shapes::StructureShape.new(name: 'ListAnomaliesForInsightResponse') + ListAnomalousLogGroupsMaxResults = Shapes::IntegerShape.new(name: 'ListAnomalousLogGroupsMaxResults') + ListAnomalousLogGroupsRequest = Shapes::StructureShape.new(name: 'ListAnomalousLogGroupsRequest') + ListAnomalousLogGroupsResponse = Shapes::StructureShape.new(name: 'ListAnomalousLogGroupsResponse') ListEventsFilters = Shapes::StructureShape.new(name: 'ListEventsFilters') ListEventsMaxResults = Shapes::IntegerShape.new(name: 'ListEventsMaxResults') ListEventsRequest = Shapes::StructureShape.new(name: 'ListEventsRequest') @@ -144,6 +150,10 @@ module ClientApi ListInsightsRequest = Shapes::StructureShape.new(name: 'ListInsightsRequest') ListInsightsResponse = Shapes::StructureShape.new(name: 'ListInsightsResponse') ListInsightsStatusFilter = Shapes::StructureShape.new(name: 'ListInsightsStatusFilter') + ListMonitoredResourcesFilters = Shapes::StructureShape.new(name: 'ListMonitoredResourcesFilters') + ListMonitoredResourcesMaxResults = Shapes::IntegerShape.new(name: 'ListMonitoredResourcesMaxResults') + ListMonitoredResourcesRequest = Shapes::StructureShape.new(name: 'ListMonitoredResourcesRequest') + ListMonitoredResourcesResponse = Shapes::StructureShape.new(name: 'ListMonitoredResourcesResponse') ListNotificationChannelsRequest = Shapes::StructureShape.new(name: 'ListNotificationChannelsRequest') ListNotificationChannelsResponse = Shapes::StructureShape.new(name: 'ListNotificationChannelsResponse') ListOrganizationInsightsRequest = Shapes::StructureShape.new(name: 'ListOrganizationInsightsRequest') @@ -151,8 +161,22 @@ module ClientApi ListRecommendationsRequest = Shapes::StructureShape.new(name: 'ListRecommendationsRequest') ListRecommendationsResponse = Shapes::StructureShape.new(name: 'ListRecommendationsResponse') Locale = Shapes::StringShape.new(name: 'Locale') + LogAnomalyClass = Shapes::StructureShape.new(name: 'LogAnomalyClass') + LogAnomalyClasses = Shapes::ListShape.new(name: 'LogAnomalyClasses') + LogAnomalyShowcase = Shapes::StructureShape.new(name: 'LogAnomalyShowcase') + LogAnomalyShowcases = Shapes::ListShape.new(name: 'LogAnomalyShowcases') + LogAnomalyToken = Shapes::StringShape.new(name: 'LogAnomalyToken') + LogAnomalyType = Shapes::StringShape.new(name: 'LogAnomalyType') + LogEventId = Shapes::StringShape.new(name: 'LogEventId') + LogGroupName = Shapes::StringShape.new(name: 'LogGroupName') + LogStreamName = Shapes::StringShape.new(name: 'LogStreamName') + LogsAnomalyDetectionIntegration = Shapes::StructureShape.new(name: 'LogsAnomalyDetectionIntegration') + LogsAnomalyDetectionIntegrationConfig = Shapes::StructureShape.new(name: 'LogsAnomalyDetectionIntegrationConfig') MeanTimeToRecoverInMilliseconds = Shapes::IntegerShape.new(name: 'MeanTimeToRecoverInMilliseconds') MetricValue = Shapes::FloatShape.new(name: 'MetricValue') + MonitoredResourceIdentifier = Shapes::StructureShape.new(name: 'MonitoredResourceIdentifier') + MonitoredResourceIdentifiers = Shapes::ListShape.new(name: 'MonitoredResourceIdentifiers') + MonitoredResourceName = Shapes::StringShape.new(name: 'MonitoredResourceName') NotificationChannel = Shapes::StructureShape.new(name: 'NotificationChannel') NotificationChannelConfig = Shapes::StructureShape.new(name: 'NotificationChannelConfig') NotificationChannelId = Shapes::StringShape.new(name: 'NotificationChannelId') @@ -161,6 +185,8 @@ module ClientApi NumOpenReactiveInsights = Shapes::IntegerShape.new(name: 'NumOpenReactiveInsights') NumProactiveInsights = Shapes::IntegerShape.new(name: 'NumProactiveInsights') NumReactiveInsights = Shapes::IntegerShape.new(name: 'NumReactiveInsights') + NumberOfLogLinesOccurrences = Shapes::IntegerShape.new(name: 'NumberOfLogLinesOccurrences') + NumberOfLogLinesScanned = Shapes::IntegerShape.new(name: 'NumberOfLogLinesScanned') OpsCenterIntegration = Shapes::StructureShape.new(name: 'OpsCenterIntegration') OpsCenterIntegrationConfig = Shapes::StructureShape.new(name: 'OpsCenterIntegrationConfig') OptInStatus = Shapes::StringShape.new(name: 'OptInStatus') @@ -248,7 +274,10 @@ module ClientApi ResourceIdType = Shapes::StringShape.new(name: 'ResourceIdType') ResourceName = Shapes::StringShape.new(name: 'ResourceName') ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException') + ResourcePermission = Shapes::StringShape.new(name: 'ResourcePermission') ResourceType = Shapes::StringShape.new(name: 'ResourceType') + ResourceTypeFilter = Shapes::StringShape.new(name: 'ResourceTypeFilter') + ResourceTypeFilters = Shapes::ListShape.new(name: 'ResourceTypeFilters') RetryAfterSeconds = Shapes::IntegerShape.new(name: 'RetryAfterSeconds') SearchInsightsAccountIdList = Shapes::ListShape.new(name: 'SearchInsightsAccountIdList') SearchInsightsFilters = Shapes::StructureShape.new(name: 'SearchInsightsFilters') @@ -335,6 +364,15 @@ module ClientApi AmazonCodeGuruProfilerIntegration.add_member(:status, Shapes::ShapeRef.new(shape: EventSourceOptInStatus, location_name: "Status")) AmazonCodeGuruProfilerIntegration.struct_class = Types::AmazonCodeGuruProfilerIntegration + AnomalousLogGroup.add_member(:log_group_name, Shapes::ShapeRef.new(shape: LogGroupName, location_name: "LogGroupName")) + AnomalousLogGroup.add_member(:impact_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ImpactStartTime")) + AnomalousLogGroup.add_member(:impact_end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ImpactEndTime")) + AnomalousLogGroup.add_member(:number_of_log_lines_scanned, Shapes::ShapeRef.new(shape: NumberOfLogLinesScanned, location_name: "NumberOfLogLinesScanned")) + AnomalousLogGroup.add_member(:log_anomaly_showcases, Shapes::ShapeRef.new(shape: LogAnomalyShowcases, location_name: "LogAnomalyShowcases")) + AnomalousLogGroup.struct_class = Types::AnomalousLogGroup + + AnomalousLogGroups.member = Shapes::ShapeRef.new(shape: AnomalousLogGroup) + AnomalyReportedTimeRange.add_member(:open_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "OpenTime")) AnomalyReportedTimeRange.add_member(:close_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CloseTime")) AnomalyReportedTimeRange.struct_class = Types::AnomalyReportedTimeRange @@ -595,6 +633,16 @@ module ClientApi ListAnomaliesForInsightResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken")) ListAnomaliesForInsightResponse.struct_class = Types::ListAnomaliesForInsightResponse + ListAnomalousLogGroupsRequest.add_member(:insight_id, Shapes::ShapeRef.new(shape: InsightId, required: true, location_name: "InsightId")) + ListAnomalousLogGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListAnomalousLogGroupsMaxResults, location_name: "MaxResults")) + ListAnomalousLogGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken")) + ListAnomalousLogGroupsRequest.struct_class = Types::ListAnomalousLogGroupsRequest + + ListAnomalousLogGroupsResponse.add_member(:insight_id, Shapes::ShapeRef.new(shape: InsightId, required: true, location_name: "InsightId")) + ListAnomalousLogGroupsResponse.add_member(:anomalous_log_groups, Shapes::ShapeRef.new(shape: AnomalousLogGroups, required: true, location_name: "AnomalousLogGroups")) + ListAnomalousLogGroupsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken")) + ListAnomalousLogGroupsResponse.struct_class = Types::ListAnomalousLogGroupsResponse + ListEventsFilters.add_member(:insight_id, Shapes::ShapeRef.new(shape: InsightId, location_name: "InsightId")) ListEventsFilters.add_member(:event_time_range, Shapes::ShapeRef.new(shape: EventTimeRange, location_name: "EventTimeRange")) ListEventsFilters.add_member(:event_class, Shapes::ShapeRef.new(shape: EventClass, location_name: "EventClass")) @@ -643,6 +691,19 @@ module ClientApi ListInsightsStatusFilter.add_member(:any, Shapes::ShapeRef.new(shape: ListInsightsAnyStatusFilter, location_name: "Any")) ListInsightsStatusFilter.struct_class = Types::ListInsightsStatusFilter + ListMonitoredResourcesFilters.add_member(:resource_permission, Shapes::ShapeRef.new(shape: ResourcePermission, required: true, location_name: "ResourcePermission")) + ListMonitoredResourcesFilters.add_member(:resource_type_filters, Shapes::ShapeRef.new(shape: ResourceTypeFilters, required: true, location_name: "ResourceTypeFilters")) + ListMonitoredResourcesFilters.struct_class = Types::ListMonitoredResourcesFilters + + ListMonitoredResourcesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: ListMonitoredResourcesFilters, required: true, location_name: "Filters")) + ListMonitoredResourcesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListMonitoredResourcesMaxResults, location_name: "MaxResults")) + ListMonitoredResourcesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken")) + ListMonitoredResourcesRequest.struct_class = Types::ListMonitoredResourcesRequest + + ListMonitoredResourcesResponse.add_member(:monitored_resource_identifiers, Shapes::ShapeRef.new(shape: MonitoredResourceIdentifiers, required: true, location_name: "MonitoredResourceIdentifiers")) + ListMonitoredResourcesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken")) + ListMonitoredResourcesResponse.struct_class = Types::ListMonitoredResourcesResponse + ListNotificationChannelsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken")) ListNotificationChannelsRequest.struct_class = Types::ListNotificationChannelsRequest @@ -672,6 +733,35 @@ module ClientApi ListRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: UuidNextToken, location_name: "NextToken")) ListRecommendationsResponse.struct_class = Types::ListRecommendationsResponse + LogAnomalyClass.add_member(:log_stream_name, Shapes::ShapeRef.new(shape: LogStreamName, location_name: "LogStreamName")) + LogAnomalyClass.add_member(:log_anomaly_type, Shapes::ShapeRef.new(shape: LogAnomalyType, location_name: "LogAnomalyType")) + LogAnomalyClass.add_member(:log_anomaly_token, Shapes::ShapeRef.new(shape: LogAnomalyToken, location_name: "LogAnomalyToken")) + LogAnomalyClass.add_member(:log_event_id, Shapes::ShapeRef.new(shape: LogEventId, location_name: "LogEventId")) + LogAnomalyClass.add_member(:explanation, Shapes::ShapeRef.new(shape: Explanation, location_name: "Explanation")) + LogAnomalyClass.add_member(:number_of_log_lines_occurrences, Shapes::ShapeRef.new(shape: NumberOfLogLinesOccurrences, location_name: "NumberOfLogLinesOccurrences")) + LogAnomalyClass.add_member(:log_event_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LogEventTimestamp")) + LogAnomalyClass.struct_class = Types::LogAnomalyClass + + LogAnomalyClasses.member = Shapes::ShapeRef.new(shape: LogAnomalyClass) + + LogAnomalyShowcase.add_member(:log_anomaly_classes, Shapes::ShapeRef.new(shape: LogAnomalyClasses, location_name: "LogAnomalyClasses")) + LogAnomalyShowcase.struct_class = Types::LogAnomalyShowcase + + LogAnomalyShowcases.member = Shapes::ShapeRef.new(shape: LogAnomalyShowcase) + + LogsAnomalyDetectionIntegration.add_member(:opt_in_status, Shapes::ShapeRef.new(shape: OptInStatus, location_name: "OptInStatus")) + LogsAnomalyDetectionIntegration.struct_class = Types::LogsAnomalyDetectionIntegration + + LogsAnomalyDetectionIntegrationConfig.add_member(:opt_in_status, Shapes::ShapeRef.new(shape: OptInStatus, location_name: "OptInStatus")) + LogsAnomalyDetectionIntegrationConfig.struct_class = Types::LogsAnomalyDetectionIntegrationConfig + + MonitoredResourceIdentifier.add_member(:monitored_resource_name, Shapes::ShapeRef.new(shape: MonitoredResourceName, location_name: "MonitoredResourceName")) + MonitoredResourceIdentifier.add_member(:type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "Type")) + MonitoredResourceIdentifier.add_member(:resource_permission, Shapes::ShapeRef.new(shape: ResourcePermission, location_name: "ResourcePermission")) + MonitoredResourceIdentifier.struct_class = Types::MonitoredResourceIdentifier + + MonitoredResourceIdentifiers.member = Shapes::ShapeRef.new(shape: MonitoredResourceIdentifier) + NotificationChannel.add_member(:id, Shapes::ShapeRef.new(shape: NotificationChannelId, location_name: "Id")) NotificationChannel.add_member(:config, Shapes::ShapeRef.new(shape: NotificationChannelConfig, location_name: "Config")) NotificationChannel.struct_class = Types::NotificationChannel @@ -945,6 +1035,8 @@ module ClientApi ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceIdType, required: true, location_name: "ResourceType")) ResourceNotFoundException.struct_class = Types::ResourceNotFoundException + ResourceTypeFilters.member = Shapes::ShapeRef.new(shape: ResourceTypeFilter) + SearchInsightsAccountIdList.member = Shapes::ShapeRef.new(shape: AwsAccountId) SearchInsightsFilters.add_member(:severities, Shapes::ShapeRef.new(shape: InsightSeverities, location_name: "Severities")) @@ -998,6 +1090,7 @@ module ClientApi ServiceInsightHealth.struct_class = Types::ServiceInsightHealth ServiceIntegrationConfig.add_member(:ops_center, Shapes::ShapeRef.new(shape: OpsCenterIntegration, location_name: "OpsCenter")) + ServiceIntegrationConfig.add_member(:logs_anomaly_detection, Shapes::ShapeRef.new(shape: LogsAnomalyDetectionIntegration, location_name: "LogsAnomalyDetection")) ServiceIntegrationConfig.struct_class = Types::ServiceIntegrationConfig ServiceNames.member = Shapes::ShapeRef.new(shape: ServiceName) @@ -1087,6 +1180,7 @@ module ClientApi UpdateResourceCollectionResponse.struct_class = Types::UpdateResourceCollectionResponse UpdateServiceIntegrationConfig.add_member(:ops_center, Shapes::ShapeRef.new(shape: OpsCenterIntegrationConfig, location_name: "OpsCenter")) + UpdateServiceIntegrationConfig.add_member(:logs_anomaly_detection, Shapes::ShapeRef.new(shape: LogsAnomalyDetectionIntegrationConfig, location_name: "LogsAnomalyDetection")) UpdateServiceIntegrationConfig.struct_class = Types::UpdateServiceIntegrationConfig UpdateServiceIntegrationRequest.add_member(:service_integration, Shapes::ShapeRef.new(shape: UpdateServiceIntegrationConfig, required: true, location_name: "ServiceIntegration")) @@ -1303,6 +1397,7 @@ module ClientApi o.output = Shapes::ShapeRef.new(shape: DescribeServiceIntegrationResponse) o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) o.errors << Shapes::ShapeRef.new(shape: ValidationException) end) @@ -1362,6 +1457,25 @@ module ClientApi ) end) + api.add_operation(:list_anomalous_log_groups, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListAnomalousLogGroups" + o.http_method = "POST" + o.http_request_uri = "/list-log-anomalies" + o.input = Shapes::ShapeRef.new(shape: ListAnomalousLogGroupsRequest) + o.output = Shapes::ShapeRef.new(shape: ListAnomalousLogGroupsResponse) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + api.add_operation(:list_events, Seahorse::Model::Operation.new.tap do |o| o.name = "ListEvents" o.http_method = "POST" @@ -1399,6 +1513,24 @@ module ClientApi ) end) + api.add_operation(:list_monitored_resources, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListMonitoredResources" + o.http_method = "POST" + o.http_request_uri = "/monitoredResources" + o.input = Shapes::ShapeRef.new(shape: ListMonitoredResourcesRequest) + o.output = Shapes::ShapeRef.new(shape: ListMonitoredResourcesResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + api.add_operation(:list_notification_channels, Seahorse::Model::Operation.new.tap do |o| o.name = "ListNotificationChannels" o.http_method = "POST" diff --git a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/types.rb b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/types.rb index d9e25aa9c09..0e683d3a18e 100644 --- a/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/types.rb +++ b/gems/aws-sdk-devopsguru/lib/aws-sdk-devopsguru/types.rb @@ -138,6 +138,43 @@ class AmazonCodeGuruProfilerIntegration < Struct.new( include Aws::Structure end + # An Amazon CloudWatch log group that contains log anomalies and is used + # to generate an insight. + # + # @!attribute [rw] log_group_name + # The name of the CloudWatch log group. + # @return [String] + # + # @!attribute [rw] impact_start_time + # The time the anomalous log events began. The impact start time + # indicates the time of the first log anomaly event that occurs. + # @return [Time] + # + # @!attribute [rw] impact_end_time + # The time the anomalous log events stopped. + # @return [Time] + # + # @!attribute [rw] number_of_log_lines_scanned + # The number of log lines that were scanned for anomalous log events. + # @return [Integer] + # + # @!attribute [rw] log_anomaly_showcases + # The log anomalies in the log group. Each log anomaly displayed + # represents a cluster of similar anomalous log events. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/AnomalousLogGroup AWS API Documentation + # + class AnomalousLogGroup < Struct.new( + :log_group_name, + :impact_start_time, + :impact_end_time, + :number_of_log_lines_scanned, + :log_anomaly_showcases) + SENSITIVE = [] + include Aws::Structure + end + # A time range that specifies when DevOps Guru opens and then closes an # anomaly. This is different from `AnomalyTimeRange`, which specifies # the time range when DevOps Guru actually observes the anomalous @@ -435,7 +472,7 @@ class CloudWatchMetricsDetail < Struct.new( include Aws::Structure end - # The dimension of am Amazon CloudWatch metric that is used when DevOps + # The dimension of an Amazon CloudWatch metric that is used when DevOps # Guru analyzes the resources in your account for operational problems # and anomalous behavior. A dimension is a name/value pair that is part # of the identity of a metric. A metric can have up to 10 dimensions. @@ -1655,6 +1692,64 @@ class ListAnomaliesForInsightResponse < Struct.new( include Aws::Structure end + # @note When making an API call, you may pass ListAnomalousLogGroupsRequest + # data as a hash: + # + # { + # insight_id: "InsightId", # required + # max_results: 1, + # next_token: "UuidNextToken", + # } + # + # @!attribute [rw] insight_id + # The ID of the insight containing the log groups. + # @return [String] + # + # @!attribute [rw] max_results + # The maximum number of results to return with a single call. To + # retrieve the remaining results, make another call with the returned + # `nextToken` value. + # @return [Integer] + # + # @!attribute [rw] next_token + # The pagination token to use to retrieve the next page of results for + # this operation. If this value is null, it retrieves the first page. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListAnomalousLogGroupsRequest AWS API Documentation + # + class ListAnomalousLogGroupsRequest < Struct.new( + :insight_id, + :max_results, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] insight_id + # The ID of the insight containing the log groups. + # @return [String] + # + # @!attribute [rw] anomalous_log_groups + # The list of Amazon CloudWatch log groups that are related to an + # insight. + # @return [Array] + # + # @!attribute [rw] next_token + # The pagination token to use to retrieve the next page of results for + # this operation. If there are no more pages, this value is null. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListAnomalousLogGroupsResponse AWS API Documentation + # + class ListAnomalousLogGroupsResponse < Struct.new( + :insight_id, + :anomalous_log_groups, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + # Filters you can use to specify which events are returned when # `ListEvents` is called. # @@ -2019,6 +2114,92 @@ class ListInsightsStatusFilter < Struct.new( include Aws::Structure end + # Filters to determine which monitored resources you want to retrieve. + # You can filter by resource type or resource permission status. + # + # @note When making an API call, you may pass ListMonitoredResourcesFilters + # data as a hash: + # + # { + # resource_permission: "FULL_PERMISSION", # required, accepts FULL_PERMISSION, MISSING_PERMISSION + # resource_type_filters: ["LOG_GROUPS"], # required, accepts LOG_GROUPS + # } + # + # @!attribute [rw] resource_permission + # The permission status of a resource. + # @return [String] + # + # @!attribute [rw] resource_type_filters + # The type of resource that you wish to retrieve, such as log groups. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListMonitoredResourcesFilters AWS API Documentation + # + class ListMonitoredResourcesFilters < Struct.new( + :resource_permission, + :resource_type_filters) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass ListMonitoredResourcesRequest + # data as a hash: + # + # { + # filters: { # required + # resource_permission: "FULL_PERMISSION", # required, accepts FULL_PERMISSION, MISSING_PERMISSION + # resource_type_filters: ["LOG_GROUPS"], # required, accepts LOG_GROUPS + # }, + # max_results: 1, + # next_token: "UuidNextToken", + # } + # + # @!attribute [rw] filters + # Filters to determine which monitored resources you want to retrieve. + # You can filter by resource type or resource permission status. + # @return [Types::ListMonitoredResourcesFilters] + # + # @!attribute [rw] max_results + # The maximum number of results to return with a single call. To + # retrieve the remaining results, make another call with the returned + # `nextToken` value. + # @return [Integer] + # + # @!attribute [rw] next_token + # The pagination token to use to retrieve the next page of results for + # this operation. If this value is null, it retrieves the first page. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListMonitoredResourcesRequest AWS API Documentation + # + class ListMonitoredResourcesRequest < Struct.new( + :filters, + :max_results, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] monitored_resource_identifiers + # Information about the resource that is being monitored, including + # the name of the resource, the type of resource, and whether or not + # permission is given to DevOps Guru to access that resource. + # @return [Array] + # + # @!attribute [rw] next_token + # The pagination token to use to retrieve the next page of results for + # this operation. If there are no more pages, this value is null. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListMonitoredResourcesResponse AWS API Documentation + # + class ListMonitoredResourcesResponse < Struct.new( + :monitored_resource_identifiers, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + # @note When making an API call, you may pass ListNotificationChannelsRequest # data as a hash: # @@ -2202,6 +2383,134 @@ class ListRecommendationsResponse < Struct.new( include Aws::Structure end + # Information about an anomalous log event found within a log group. + # + # @!attribute [rw] log_stream_name + # The name of the Amazon CloudWatch log stream that the anomalous log + # event belongs to. A log stream is a sequence of log events that + # share the same source. + # @return [String] + # + # @!attribute [rw] log_anomaly_type + # The type of log anomaly that has been detected. + # @return [String] + # + # @!attribute [rw] log_anomaly_token + # The token where the anomaly was detected. This may refer to an + # exception or another location, or it may be blank for log anomalies + # such as format anomalies. + # @return [String] + # + # @!attribute [rw] log_event_id + # The ID of the log event. + # @return [String] + # + # @!attribute [rw] explanation + # The explanation for why the log event is considered an anomaly. + # @return [String] + # + # @!attribute [rw] number_of_log_lines_occurrences + # The number of log lines where this anomalous log event occurs. + # @return [Integer] + # + # @!attribute [rw] log_event_timestamp + # The time of the first occurrence of the anomalous log event. + # @return [Time] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/LogAnomalyClass AWS API Documentation + # + class LogAnomalyClass < Struct.new( + :log_stream_name, + :log_anomaly_type, + :log_anomaly_token, + :log_event_id, + :explanation, + :number_of_log_lines_occurrences, + :log_event_timestamp) + SENSITIVE = [] + include Aws::Structure + end + + # A cluster of similar anomalous log events found within a log group. + # + # @!attribute [rw] log_anomaly_classes + # A list of anomalous log events that may be related. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/LogAnomalyShowcase AWS API Documentation + # + class LogAnomalyShowcase < Struct.new( + :log_anomaly_classes) + SENSITIVE = [] + include Aws::Structure + end + + # Information about the integration of DevOps Guru with CloudWatch log + # groups for log anomaly detection. + # + # @!attribute [rw] opt_in_status + # Specifies if DevOps Guru is configured to perform log anomaly + # detection on CloudWatch log groups. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/LogsAnomalyDetectionIntegration AWS API Documentation + # + class LogsAnomalyDetectionIntegration < Struct.new( + :opt_in_status) + SENSITIVE = [] + include Aws::Structure + end + + # Information about the integration of DevOps Guru with CloudWatch log + # groups for log anomaly detection. You can use this to update the + # configuration. + # + # @note When making an API call, you may pass LogsAnomalyDetectionIntegrationConfig + # data as a hash: + # + # { + # opt_in_status: "ENABLED", # accepts ENABLED, DISABLED + # } + # + # @!attribute [rw] opt_in_status + # Specifies if DevOps Guru is configured to perform log anomaly + # detection on CloudWatch log groups. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/LogsAnomalyDetectionIntegrationConfig AWS API Documentation + # + class LogsAnomalyDetectionIntegrationConfig < Struct.new( + :opt_in_status) + SENSITIVE = [] + include Aws::Structure + end + + # Information about the resource that is being monitored, including the + # name of the resource, the type of resource, and whether or not + # permission is given to DevOps Guru to access that resource. + # + # @!attribute [rw] monitored_resource_name + # The name of the resource being monitored. + # @return [String] + # + # @!attribute [rw] type + # The type of resource being monitored. + # @return [String] + # + # @!attribute [rw] resource_permission + # The permission status of a resource. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/MonitoredResourceIdentifier AWS API Documentation + # + class MonitoredResourceIdentifier < Struct.new( + :monitored_resource_name, + :type, + :resource_permission) + SENSITIVE = [] + include Aws::Structure + end + # Information about a notification channel. A notification channel is # used to notify you when DevOps Guru creates an insight. The one # supported notification channel is Amazon Simple Notification Service @@ -2318,7 +2627,7 @@ class OpsCenterIntegration < Struct.new( # Information about whether DevOps Guru is configured to create an # OpsItem in Amazon Web Services Systems Manager OpsCenter for each - # created insight. + # created insight. You can use this to update the configuration. # # @note When making an API call, you may pass OpsCenterIntegrationConfig # data as a hash: @@ -4348,10 +4657,16 @@ class ServiceInsightHealth < Struct.new( # created insight. # @return [Types::OpsCenterIntegration] # + # @!attribute [rw] logs_anomaly_detection + # Information about whether DevOps Guru is configured to perform log + # anomaly detection on Amazon CloudWatch log groups. + # @return [Types::LogsAnomalyDetectionIntegration] + # # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ServiceIntegrationConfig AWS API Documentation # class ServiceIntegrationConfig < Struct.new( - :ops_center) + :ops_center, + :logs_anomaly_detection) SENSITIVE = [] include Aws::Structure end @@ -4994,18 +5309,27 @@ class UpdateResourceCollectionResponse < Aws::EmptyStructure; end # ops_center: { # opt_in_status: "ENABLED", # accepts ENABLED, DISABLED # }, + # logs_anomaly_detection: { + # opt_in_status: "ENABLED", # accepts ENABLED, DISABLED + # }, # } # # @!attribute [rw] ops_center # Information about whether DevOps Guru is configured to create an # OpsItem in Amazon Web Services Systems Manager OpsCenter for each - # created insight. + # created insight. You can use this to update the configuration. # @return [Types::OpsCenterIntegrationConfig] # + # @!attribute [rw] logs_anomaly_detection + # Information about whether DevOps Guru is configured to perform log + # anomaly detection on Amazon CloudWatch log groups. + # @return [Types::LogsAnomalyDetectionIntegrationConfig] + # # @see http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateServiceIntegrationConfig AWS API Documentation # class UpdateServiceIntegrationConfig < Struct.new( - :ops_center) + :ops_center, + :logs_anomaly_detection) SENSITIVE = [] include Aws::Structure end @@ -5018,6 +5342,9 @@ class UpdateServiceIntegrationConfig < Struct.new( # ops_center: { # opt_in_status: "ENABLED", # accepts ENABLED, DISABLED # }, + # logs_anomaly_detection: { + # opt_in_status: "ENABLED", # accepts ENABLED, DISABLED + # }, # }, # } # diff --git a/gems/aws-sdk-glue/CHANGELOG.md b/gems/aws-sdk-glue/CHANGELOG.md index 39e30be9ca9..372bc01f97a 100644 --- a/gems/aws-sdk-glue/CHANGELOG.md +++ b/gems/aws-sdk-glue/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.116.0 (2022-07-19) +------------------ + +* Feature - Documentation updates for AWS Glue Job Timeout and Autoscaling + 1.115.0 (2022-07-14) ------------------ diff --git a/gems/aws-sdk-glue/VERSION b/gems/aws-sdk-glue/VERSION index 97ee99fccc8..10c8812fe5e 100644 --- a/gems/aws-sdk-glue/VERSION +++ b/gems/aws-sdk-glue/VERSION @@ -1 +1 @@ -1.115.0 +1.116.0 diff --git a/gems/aws-sdk-glue/lib/aws-sdk-glue.rb b/gems/aws-sdk-glue/lib/aws-sdk-glue.rb index e3cdba2d0f1..d7f6a941fc0 100644 --- a/gems/aws-sdk-glue/lib/aws-sdk-glue.rb +++ b/gems/aws-sdk-glue/lib/aws-sdk-glue.rb @@ -48,6 +48,6 @@ # @!group service module Aws::Glue - GEM_VERSION = '1.115.0' + GEM_VERSION = '1.116.0' end diff --git a/gems/aws-sdk-glue/lib/aws-sdk-glue/client.rb b/gems/aws-sdk-glue/lib/aws-sdk-glue/client.rb index 3f61e2ac9bb..e91f3989842 100644 --- a/gems/aws-sdk-glue/lib/aws-sdk-glue/client.rb +++ b/gems/aws-sdk-glue/lib/aws-sdk-glue/client.rb @@ -12543,8 +12543,10 @@ def start_import_labels_task_run(params = {}, options = {}) # @option params [Integer] :timeout # The `JobRun` timeout in minutes. This is the maximum time that a job # run can consume resources before it is terminated and enters `TIMEOUT` - # status. The default is 2,880 minutes (48 hours). This overrides the - # timeout value set in the parent job. + # status. This value overrides the timeout value set in the parent job. + # + # Streaming jobs do not have a timeout. The default for non-streaming + # jobs is 2,880 minutes (48 hours). # # @option params [Float] :max_capacity # The number of Glue data processing units (DPUs) that can be allocated @@ -15092,7 +15094,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-glue' - context[:gem_version] = '1.115.0' + context[:gem_version] = '1.116.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-glue/lib/aws-sdk-glue/types.rb b/gems/aws-sdk-glue/lib/aws-sdk-glue/types.rb index 178a04be199..aa1ed0aace3 100644 --- a/gems/aws-sdk-glue/lib/aws-sdk-glue/types.rb +++ b/gems/aws-sdk-glue/lib/aws-sdk-glue/types.rb @@ -14998,8 +14998,11 @@ class JobNodeDetails < Struct.new( # @!attribute [rw] timeout # The `JobRun` timeout in minutes. This is the maximum time that a job # run can consume resources before it is terminated and enters - # `TIMEOUT` status. The default is 2,880 minutes (48 hours). This - # overrides the timeout value set in the parent job. + # `TIMEOUT` status. This value overrides the timeout value set in the + # parent job. + # + # Streaming jobs do not have a timeout. The default for non-streaming + # jobs is 2,880 minutes (48 hours). # @return [Integer] # # @!attribute [rw] max_capacity @@ -15090,10 +15093,10 @@ class JobNodeDetails < Struct.new( # @return [String] # # @!attribute [rw] dpu_seconds - # This field populates only when an Auto Scaling job run completes, - # and represents the total time each executor ran during the lifecycle - # of a job run in seconds, multiplied by a DPU factor (1 for `G.1X` - # and 2 for `G.2X` workers). This value may be different than the + # This field populates only for Auto Scaling job runs, and represents + # the total time each executor ran during the lifecycle of a job run + # in seconds, multiplied by a DPU factor (1 for `G.1X`, 2 for `G.2X`, + # or 0.25 for `G.025X` workers). This value may be different than the # `executionEngineRuntime` * `MaxCapacity` as in the case of Auto # Scaling jobs, as the number of executors running at a given time may # be less than the `MaxCapacity`. Therefore, it is possible that the @@ -22061,8 +22064,11 @@ class StartImportLabelsTaskRunResponse < Struct.new( # @!attribute [rw] timeout # The `JobRun` timeout in minutes. This is the maximum time that a job # run can consume resources before it is terminated and enters - # `TIMEOUT` status. The default is 2,880 minutes (48 hours). This - # overrides the timeout value set in the parent job. + # `TIMEOUT` status. This value overrides the timeout value set in the + # parent job. + # + # Streaming jobs do not have a timeout. The default for non-streaming + # jobs is 2,880 minutes (48 hours). # @return [Integer] # # @!attribute [rw] max_capacity diff --git a/gems/aws-sdk-sagemaker/CHANGELOG.md b/gems/aws-sdk-sagemaker/CHANGELOG.md index 81925daec5c..fe53048b407 100644 --- a/gems/aws-sdk-sagemaker/CHANGELOG.md +++ b/gems/aws-sdk-sagemaker/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.133.0 (2022-07-19) +------------------ + +* Feature - Fixed an issue with cross account QueryLineage + 1.132.0 (2022-07-18) ------------------ diff --git a/gems/aws-sdk-sagemaker/VERSION b/gems/aws-sdk-sagemaker/VERSION index 82c65d83bbc..445cade7793 100644 --- a/gems/aws-sdk-sagemaker/VERSION +++ b/gems/aws-sdk-sagemaker/VERSION @@ -1 +1 @@ -1.132.0 +1.133.0 diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb index d600ba403a5..edcb316776a 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb @@ -49,6 +49,6 @@ # @!group service module Aws::SageMaker - GEM_VERSION = '1.132.0' + GEM_VERSION = '1.133.0' end diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb index adc74df6781..fc30a09e8c1 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb @@ -16743,7 +16743,7 @@ def put_model_package_group_policy(params = {}, options = {}) # # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/querying-lineage-entities.html # - # @option params [required, Array] :start_arns + # @option params [Array] :start_arns # A list of resource Amazon Resource Name (ARN) that represent the # starting point for your lineage query. # @@ -16802,7 +16802,7 @@ def put_model_package_group_policy(params = {}, options = {}) # @example Request syntax with placeholder values # # resp = client.query_lineage({ - # start_arns: ["AssociationEntityArn"], # required + # start_arns: ["AssociationEntityArn"], # direction: "Both", # accepts Both, Ascendants, Descendants # include_edges: false, # filters: { @@ -20269,7 +20269,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-sagemaker' - context[:gem_version] = '1.132.0' + context[:gem_version] = '1.133.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb index f635f32012b..6d358f9f6e5 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb @@ -6437,7 +6437,7 @@ module ClientApi QueryFilters.add_member(:properties, Shapes::ShapeRef.new(shape: QueryProperties, location_name: "Properties")) QueryFilters.struct_class = Types::QueryFilters - QueryLineageRequest.add_member(:start_arns, Shapes::ShapeRef.new(shape: QueryLineageStartArns, required: true, location_name: "StartArns")) + QueryLineageRequest.add_member(:start_arns, Shapes::ShapeRef.new(shape: QueryLineageStartArns, location_name: "StartArns")) QueryLineageRequest.add_member(:direction, Shapes::ShapeRef.new(shape: Direction, location_name: "Direction")) QueryLineageRequest.add_member(:include_edges, Shapes::ShapeRef.new(shape: Boolean, location_name: "IncludeEdges")) QueryLineageRequest.add_member(:filters, Shapes::ShapeRef.new(shape: QueryFilters, location_name: "Filters")) diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb index 40d99ee87b2..31869be686a 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb @@ -34717,7 +34717,7 @@ class QueryFilters < Struct.new( # data as a hash: # # { - # start_arns: ["AssociationEntityArn"], # required + # start_arns: ["AssociationEntityArn"], # direction: "Both", # accepts Both, Ascendants, Descendants # include_edges: false, # filters: { diff --git a/gems/aws-sdk-sagemakeredgemanager/CHANGELOG.md b/gems/aws-sdk-sagemakeredgemanager/CHANGELOG.md index 1e243c23423..5cd44afec16 100644 --- a/gems/aws-sdk-sagemakeredgemanager/CHANGELOG.md +++ b/gems/aws-sdk-sagemakeredgemanager/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.12.0 (2022-07-19) +------------------ + +* Feature - Amazon SageMaker Edge Manager provides lightweight model deployment feature to deploy machine learning models on requested devices. + 1.11.0 (2022-02-24) ------------------ diff --git a/gems/aws-sdk-sagemakeredgemanager/VERSION b/gems/aws-sdk-sagemakeredgemanager/VERSION index 1cac385c6cb..0eed1a29efd 100644 --- a/gems/aws-sdk-sagemakeredgemanager/VERSION +++ b/gems/aws-sdk-sagemakeredgemanager/VERSION @@ -1 +1 @@ -1.11.0 +1.12.0 diff --git a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager.rb b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager.rb index 396746f1277..4bd9450aab7 100644 --- a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager.rb +++ b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager.rb @@ -28,7 +28,7 @@ # structure. # # sagemaker_edge_manager = Aws::SagemakerEdgeManager::Client.new -# resp = sagemaker_edge_manager.get_device_registration(params) +# resp = sagemaker_edge_manager.get_deployments(params) # # See {Client} for more information. # @@ -48,6 +48,6 @@ # @!group service module Aws::SagemakerEdgeManager - GEM_VERSION = '1.11.0' + GEM_VERSION = '1.12.0' end diff --git a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client.rb b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client.rb index c9e34de1742..6a10d819341 100644 --- a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client.rb +++ b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client.rb @@ -351,6 +351,48 @@ def initialize(*args) # @!group API Operations + # Use to get the active deployments from a device. + # + # @option params [required, String] :device_name + # The unique name of the device you want to get the configuration of + # active deployments from. + # + # @option params [required, String] :device_fleet_name + # The name of the fleet that the device belongs to. + # + # @return [Types::GetDeploymentsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetDeploymentsResult#deployments #deployments} => Array<Types::EdgeDeployment> + # + # @example Request syntax with placeholder values + # + # resp = client.get_deployments({ + # device_name: "DeviceName", # required + # device_fleet_name: "DeviceFleetName", # required + # }) + # + # @example Response structure + # + # resp.deployments #=> Array + # resp.deployments[0].deployment_name #=> String + # resp.deployments[0].type #=> String, one of "Model" + # resp.deployments[0].failure_handling_policy #=> String, one of "ROLLBACK_ON_FAILURE", "DO_NOTHING" + # resp.deployments[0].definitions #=> Array + # resp.deployments[0].definitions[0].model_handle #=> String + # resp.deployments[0].definitions[0].s3_url #=> String + # resp.deployments[0].definitions[0].checksum.type #=> String, one of "SHA1" + # resp.deployments[0].definitions[0].checksum.sum #=> String + # resp.deployments[0].definitions[0].state #=> String, one of "DEPLOY", "UNDEPLOY" + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/GetDeployments AWS API Documentation + # + # @overload get_deployments(params = {}) + # @param [Hash] params ({}) + def get_deployments(params = {}, options = {}) + req = build_request(:get_deployments, params) + req.send_request(options) + end + # Use to check if a device is registered with SageMaker Edge Manager. # # @option params [required, String] :device_name @@ -405,6 +447,9 @@ def get_device_registration(params = {}, options = {}) # @option params [required, String] :device_fleet_name # The name of the fleet that the device belongs to. # + # @option params [Types::DeploymentResult] :deployment_result + # Returns the result of a deployment on the device. + # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values @@ -437,6 +482,25 @@ def get_device_registration(params = {}, options = {}) # agent_version: "Version", # required # device_name: "DeviceName", # required # device_fleet_name: "DeviceFleetName", # required + # deployment_result: { + # deployment_name: "EntityName", + # deployment_status: "EntityName", + # deployment_status_message: "String", + # deployment_start_time: Time.now, + # deployment_end_time: Time.now, + # deployment_models: [ + # { + # model_handle: "EntityName", + # model_name: "ModelName", + # model_version: "Version", + # desired_state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # status: "SUCCESS", # accepts SUCCESS, FAIL + # status_reason: "String", + # rollback_failure_reason: "String", + # }, + # ], + # }, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/SendHeartbeat AWS API Documentation @@ -461,7 +525,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-sagemakeredgemanager' - context[:gem_version] = '1.11.0' + context[:gem_version] = '1.12.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client_api.rb b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client_api.rb index 59bb533f016..ba9c79e5b63 100644 --- a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client_api.rb +++ b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/client_api.rb @@ -14,25 +14,84 @@ module ClientApi include Seahorse::Model CacheTTLSeconds = Shapes::StringShape.new(name: 'CacheTTLSeconds') + Checksum = Shapes::StructureShape.new(name: 'Checksum') + ChecksumString = Shapes::StringShape.new(name: 'ChecksumString') + ChecksumType = Shapes::StringShape.new(name: 'ChecksumType') + Definition = Shapes::StructureShape.new(name: 'Definition') + Definitions = Shapes::ListShape.new(name: 'Definitions') + DeploymentModel = Shapes::StructureShape.new(name: 'DeploymentModel') + DeploymentModels = Shapes::ListShape.new(name: 'DeploymentModels') + DeploymentResult = Shapes::StructureShape.new(name: 'DeploymentResult') + DeploymentStatus = Shapes::StringShape.new(name: 'DeploymentStatus') + DeploymentType = Shapes::StringShape.new(name: 'DeploymentType') DeviceFleetName = Shapes::StringShape.new(name: 'DeviceFleetName') DeviceName = Shapes::StringShape.new(name: 'DeviceName') DeviceRegistration = Shapes::StringShape.new(name: 'DeviceRegistration') Dimension = Shapes::StringShape.new(name: 'Dimension') + EdgeDeployment = Shapes::StructureShape.new(name: 'EdgeDeployment') + EdgeDeployments = Shapes::ListShape.new(name: 'EdgeDeployments') EdgeMetric = Shapes::StructureShape.new(name: 'EdgeMetric') EdgeMetrics = Shapes::ListShape.new(name: 'EdgeMetrics') + EntityName = Shapes::StringShape.new(name: 'EntityName') ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage') + FailureHandlingPolicy = Shapes::StringShape.new(name: 'FailureHandlingPolicy') + GetDeploymentsRequest = Shapes::StructureShape.new(name: 'GetDeploymentsRequest') + GetDeploymentsResult = Shapes::StructureShape.new(name: 'GetDeploymentsResult') GetDeviceRegistrationRequest = Shapes::StructureShape.new(name: 'GetDeviceRegistrationRequest') GetDeviceRegistrationResult = Shapes::StructureShape.new(name: 'GetDeviceRegistrationResult') InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException') Metric = Shapes::StringShape.new(name: 'Metric') Model = Shapes::StructureShape.new(name: 'Model') ModelName = Shapes::StringShape.new(name: 'ModelName') + ModelState = Shapes::StringShape.new(name: 'ModelState') Models = Shapes::ListShape.new(name: 'Models') + S3Uri = Shapes::StringShape.new(name: 'S3Uri') SendHeartbeatRequest = Shapes::StructureShape.new(name: 'SendHeartbeatRequest') + String = Shapes::StringShape.new(name: 'String') Timestamp = Shapes::TimestampShape.new(name: 'Timestamp') Value = Shapes::FloatShape.new(name: 'Value') Version = Shapes::StringShape.new(name: 'Version') + Checksum.add_member(:type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "Type")) + Checksum.add_member(:sum, Shapes::ShapeRef.new(shape: ChecksumString, location_name: "Sum")) + Checksum.struct_class = Types::Checksum + + Definition.add_member(:model_handle, Shapes::ShapeRef.new(shape: EntityName, location_name: "ModelHandle")) + Definition.add_member(:s3_url, Shapes::ShapeRef.new(shape: S3Uri, location_name: "S3Url")) + Definition.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location_name: "Checksum")) + Definition.add_member(:state, Shapes::ShapeRef.new(shape: ModelState, location_name: "State")) + Definition.struct_class = Types::Definition + + Definitions.member = Shapes::ShapeRef.new(shape: Definition) + + DeploymentModel.add_member(:model_handle, Shapes::ShapeRef.new(shape: EntityName, location_name: "ModelHandle")) + DeploymentModel.add_member(:model_name, Shapes::ShapeRef.new(shape: ModelName, location_name: "ModelName")) + DeploymentModel.add_member(:model_version, Shapes::ShapeRef.new(shape: Version, location_name: "ModelVersion")) + DeploymentModel.add_member(:desired_state, Shapes::ShapeRef.new(shape: ModelState, location_name: "DesiredState")) + DeploymentModel.add_member(:state, Shapes::ShapeRef.new(shape: ModelState, location_name: "State")) + DeploymentModel.add_member(:status, Shapes::ShapeRef.new(shape: DeploymentStatus, location_name: "Status")) + DeploymentModel.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "StatusReason")) + DeploymentModel.add_member(:rollback_failure_reason, Shapes::ShapeRef.new(shape: String, location_name: "RollbackFailureReason")) + DeploymentModel.struct_class = Types::DeploymentModel + + DeploymentModels.member = Shapes::ShapeRef.new(shape: DeploymentModel) + + DeploymentResult.add_member(:deployment_name, Shapes::ShapeRef.new(shape: EntityName, location_name: "DeploymentName")) + DeploymentResult.add_member(:deployment_status, Shapes::ShapeRef.new(shape: EntityName, location_name: "DeploymentStatus")) + DeploymentResult.add_member(:deployment_status_message, Shapes::ShapeRef.new(shape: String, location_name: "DeploymentStatusMessage")) + DeploymentResult.add_member(:deployment_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DeploymentStartTime")) + DeploymentResult.add_member(:deployment_end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DeploymentEndTime")) + DeploymentResult.add_member(:deployment_models, Shapes::ShapeRef.new(shape: DeploymentModels, location_name: "DeploymentModels")) + DeploymentResult.struct_class = Types::DeploymentResult + + EdgeDeployment.add_member(:deployment_name, Shapes::ShapeRef.new(shape: EntityName, location_name: "DeploymentName")) + EdgeDeployment.add_member(:type, Shapes::ShapeRef.new(shape: DeploymentType, location_name: "Type")) + EdgeDeployment.add_member(:failure_handling_policy, Shapes::ShapeRef.new(shape: FailureHandlingPolicy, location_name: "FailureHandlingPolicy")) + EdgeDeployment.add_member(:definitions, Shapes::ShapeRef.new(shape: Definitions, location_name: "Definitions")) + EdgeDeployment.struct_class = Types::EdgeDeployment + + EdgeDeployments.member = Shapes::ShapeRef.new(shape: EdgeDeployment) + EdgeMetric.add_member(:dimension, Shapes::ShapeRef.new(shape: Dimension, location_name: "Dimension")) EdgeMetric.add_member(:metric_name, Shapes::ShapeRef.new(shape: Metric, location_name: "MetricName")) EdgeMetric.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "Value")) @@ -41,6 +100,13 @@ module ClientApi EdgeMetrics.member = Shapes::ShapeRef.new(shape: EdgeMetric) + GetDeploymentsRequest.add_member(:device_name, Shapes::ShapeRef.new(shape: DeviceName, required: true, location_name: "DeviceName")) + GetDeploymentsRequest.add_member(:device_fleet_name, Shapes::ShapeRef.new(shape: DeviceFleetName, required: true, location_name: "DeviceFleetName")) + GetDeploymentsRequest.struct_class = Types::GetDeploymentsRequest + + GetDeploymentsResult.add_member(:deployments, Shapes::ShapeRef.new(shape: EdgeDeployments, location_name: "Deployments")) + GetDeploymentsResult.struct_class = Types::GetDeploymentsResult + GetDeviceRegistrationRequest.add_member(:device_name, Shapes::ShapeRef.new(shape: DeviceName, required: true, location_name: "DeviceName")) GetDeviceRegistrationRequest.add_member(:device_fleet_name, Shapes::ShapeRef.new(shape: DeviceFleetName, required: true, location_name: "DeviceFleetName")) GetDeviceRegistrationRequest.struct_class = Types::GetDeviceRegistrationRequest @@ -66,6 +132,7 @@ module ClientApi SendHeartbeatRequest.add_member(:agent_version, Shapes::ShapeRef.new(shape: Version, required: true, location_name: "AgentVersion")) SendHeartbeatRequest.add_member(:device_name, Shapes::ShapeRef.new(shape: DeviceName, required: true, location_name: "DeviceName")) SendHeartbeatRequest.add_member(:device_fleet_name, Shapes::ShapeRef.new(shape: DeviceFleetName, required: true, location_name: "DeviceFleetName")) + SendHeartbeatRequest.add_member(:deployment_result, Shapes::ShapeRef.new(shape: DeploymentResult, location_name: "DeploymentResult")) SendHeartbeatRequest.struct_class = Types::SendHeartbeatRequest @@ -86,6 +153,15 @@ module ClientApi "uid" => "sagemaker-edge-2020-09-23", } + api.add_operation(:get_deployments, Seahorse::Model::Operation.new.tap do |o| + o.name = "GetDeployments" + o.http_method = "POST" + o.http_request_uri = "/GetDeployments" + o.input = Shapes::ShapeRef.new(shape: GetDeploymentsRequest) + o.output = Shapes::ShapeRef.new(shape: GetDeploymentsResult) + o.errors << Shapes::ShapeRef.new(shape: InternalServiceException) + end) + api.add_operation(:get_device_registration, Seahorse::Model::Operation.new.tap do |o| o.name = "GetDeviceRegistration" o.http_method = "POST" diff --git a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/types.rb b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/types.rb index dc1873579d7..9b83f8684d9 100644 --- a/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/types.rb +++ b/gems/aws-sdk-sagemakeredgemanager/lib/aws-sdk-sagemakeredgemanager/types.rb @@ -10,6 +10,208 @@ module Aws::SagemakerEdgeManager module Types + # Information about the checksum of a model deployed on a device. + # + # @!attribute [rw] type + # The type of the checksum. + # @return [String] + # + # @!attribute [rw] sum + # The checksum of the model. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/Checksum AWS API Documentation + # + class Checksum < Struct.new( + :type, + :sum) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] model_handle + # The unique model handle. + # @return [String] + # + # @!attribute [rw] s3_url + # The absolute S3 location of the model. + # @return [String] + # + # @!attribute [rw] checksum + # The checksum information of the model. + # @return [Types::Checksum] + # + # @!attribute [rw] state + # The desired state of the model. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/Definition AWS API Documentation + # + class Definition < Struct.new( + :model_handle, + :s3_url, + :checksum, + :state) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass DeploymentModel + # data as a hash: + # + # { + # model_handle: "EntityName", + # model_name: "ModelName", + # model_version: "Version", + # desired_state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # status: "SUCCESS", # accepts SUCCESS, FAIL + # status_reason: "String", + # rollback_failure_reason: "String", + # } + # + # @!attribute [rw] model_handle + # The unique handle of the model. + # @return [String] + # + # @!attribute [rw] model_name + # The name of the model. + # @return [String] + # + # @!attribute [rw] model_version + # The version of the model. + # @return [String] + # + # @!attribute [rw] desired_state + # The desired state of the model. + # @return [String] + # + # @!attribute [rw] state + # Returns the current state of the model. + # @return [String] + # + # @!attribute [rw] status + # Returns the deployment status of the model. + # @return [String] + # + # @!attribute [rw] status_reason + # Returns the error message for the deployment status result. + # @return [String] + # + # @!attribute [rw] rollback_failure_reason + # Returns the error message if there is a rollback. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/DeploymentModel AWS API Documentation + # + class DeploymentModel < Struct.new( + :model_handle, + :model_name, + :model_version, + :desired_state, + :state, + :status, + :status_reason, + :rollback_failure_reason) + SENSITIVE = [] + include Aws::Structure + end + + # Information about the result of a deployment on an edge device that is + # registered with SageMaker Edge Manager. + # + # @note When making an API call, you may pass DeploymentResult + # data as a hash: + # + # { + # deployment_name: "EntityName", + # deployment_status: "EntityName", + # deployment_status_message: "String", + # deployment_start_time: Time.now, + # deployment_end_time: Time.now, + # deployment_models: [ + # { + # model_handle: "EntityName", + # model_name: "ModelName", + # model_version: "Version", + # desired_state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # status: "SUCCESS", # accepts SUCCESS, FAIL + # status_reason: "String", + # rollback_failure_reason: "String", + # }, + # ], + # } + # + # @!attribute [rw] deployment_name + # The name and unique ID of the deployment. + # @return [String] + # + # @!attribute [rw] deployment_status + # Returns the bucket error code. + # @return [String] + # + # @!attribute [rw] deployment_status_message + # Returns the detailed error message. + # @return [String] + # + # @!attribute [rw] deployment_start_time + # The timestamp of when the deployment was started on the agent. + # @return [Time] + # + # @!attribute [rw] deployment_end_time + # The timestamp of when the deployment was ended, and the agent got + # the deployment results. + # @return [Time] + # + # @!attribute [rw] deployment_models + # Returns a list of models deployed on the agent. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/DeploymentResult AWS API Documentation + # + class DeploymentResult < Struct.new( + :deployment_name, + :deployment_status, + :deployment_status_message, + :deployment_start_time, + :deployment_end_time, + :deployment_models) + SENSITIVE = [] + include Aws::Structure + end + + # Information about a deployment on an edge device that is registered + # with SageMaker Edge Manager. + # + # @!attribute [rw] deployment_name + # The name and unique ID of the deployment. + # @return [String] + # + # @!attribute [rw] type + # The type of the deployment. + # @return [String] + # + # @!attribute [rw] failure_handling_policy + # Determines whether to rollback to previous configuration if + # deployment fails. + # @return [String] + # + # @!attribute [rw] definitions + # Returns a list of Definition objects. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/EdgeDeployment AWS API Documentation + # + class EdgeDeployment < Struct.new( + :deployment_name, + :type, + :failure_handling_policy, + :definitions) + SENSITIVE = [] + include Aws::Structure + end + # Information required for edge device metrics. # # @note When making an API call, you may pass EdgeMetric @@ -49,6 +251,45 @@ class EdgeMetric < Struct.new( include Aws::Structure end + # @note When making an API call, you may pass GetDeploymentsRequest + # data as a hash: + # + # { + # device_name: "DeviceName", # required + # device_fleet_name: "DeviceFleetName", # required + # } + # + # @!attribute [rw] device_name + # The unique name of the device you want to get the configuration of + # active deployments from. + # @return [String] + # + # @!attribute [rw] device_fleet_name + # The name of the fleet that the device belongs to. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/GetDeploymentsRequest AWS API Documentation + # + class GetDeploymentsRequest < Struct.new( + :device_name, + :device_fleet_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] deployments + # Returns a list of the configurations of the active deployments on + # the device. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/GetDeploymentsResult AWS API Documentation + # + class GetDeploymentsResult < Struct.new( + :deployments) + SENSITIVE = [] + include Aws::Structure + end + # @note When making an API call, you may pass GetDeviceRegistrationRequest # data as a hash: # @@ -95,7 +336,7 @@ class GetDeviceRegistrationResult < Struct.new( end # An internal failure occurred. Try your request again. If the problem - # persists, contact AWS customer support. + # persists, contact Amazon Web Services customer support. # # @!attribute [rw] message # @return [String] @@ -192,6 +433,25 @@ class Model < Struct.new( # agent_version: "Version", # required # device_name: "DeviceName", # required # device_fleet_name: "DeviceFleetName", # required + # deployment_result: { + # deployment_name: "EntityName", + # deployment_status: "EntityName", + # deployment_status_message: "String", + # deployment_start_time: Time.now, + # deployment_end_time: Time.now, + # deployment_models: [ + # { + # model_handle: "EntityName", + # model_name: "ModelName", + # model_version: "Version", + # desired_state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # state: "DEPLOY", # accepts DEPLOY, UNDEPLOY + # status: "SUCCESS", # accepts SUCCESS, FAIL + # status_reason: "String", + # rollback_failure_reason: "String", + # }, + # ], + # }, # } # # @!attribute [rw] agent_metrics @@ -215,6 +475,10 @@ class Model < Struct.new( # The name of the fleet that the device belongs to. # @return [String] # + # @!attribute [rw] deployment_result + # Returns the result of a deployment on the device. + # @return [Types::DeploymentResult] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/SendHeartbeatRequest AWS API Documentation # class SendHeartbeatRequest < Struct.new( @@ -222,7 +486,8 @@ class SendHeartbeatRequest < Struct.new( :models, :agent_version, :device_name, - :device_fleet_name) + :device_fleet_name, + :deployment_result) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-workspaces/CHANGELOG.md b/gems/aws-sdk-workspaces/CHANGELOG.md index 3775cf5d23c..a5823978e96 100644 --- a/gems/aws-sdk-workspaces/CHANGELOG.md +++ b/gems/aws-sdk-workspaces/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.70.0 (2022-07-19) +------------------ + +* Feature - Increased the character limit of the login message from 850 to 2000 characters. + 1.69.0 (2022-06-15) ------------------ diff --git a/gems/aws-sdk-workspaces/VERSION b/gems/aws-sdk-workspaces/VERSION index 49349856550..832e9afb6c1 100644 --- a/gems/aws-sdk-workspaces/VERSION +++ b/gems/aws-sdk-workspaces/VERSION @@ -1 +1 @@ -1.69.0 +1.70.0 diff --git a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb index 1859544499e..a9471edb3eb 100644 --- a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb +++ b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb @@ -48,6 +48,6 @@ # @!group service module Aws::WorkSpaces - GEM_VERSION = '1.69.0' + GEM_VERSION = '1.70.0' end diff --git a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb index afd6d0fd89f..dedacdf4529 100644 --- a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb +++ b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb @@ -3296,7 +3296,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-workspaces' - context[:gem_version] = '1.69.0' + context[:gem_version] = '1.70.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb index 7f5e6b438cf..bb426a57ab2 100644 --- a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb +++ b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb @@ -1624,6 +1624,7 @@ module ClientApi o.output = Shapes::ShapeRef.new(shape: ImportClientBrandingResult) o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException) o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) end) diff --git a/gems/aws-sigv4/CHANGELOG.md b/gems/aws-sigv4/CHANGELOG.md index 139e125a0e8..946e7b04c4b 100644 --- a/gems/aws-sigv4/CHANGELOG.md +++ b/gems/aws-sigv4/CHANGELOG.md @@ -1,6 +1,9 @@ Unreleased Changes ------------------ +1.5.1 (2022-07-19) +------------------ + * Issue - Fix performance regression when checking if `aws-crt` is available. (#2729) 1.5.0 (2022-04-20) diff --git a/gems/aws-sigv4/VERSION b/gems/aws-sigv4/VERSION index bc80560fad6..26ca594609a 100644 --- a/gems/aws-sigv4/VERSION +++ b/gems/aws-sigv4/VERSION @@ -1 +1 @@ -1.5.0 +1.5.1