From cf2faa674aeb4b8ec57ef9053a71d96c220d6195 Mon Sep 17 00:00:00 2001 From: AWS SDK for Ruby Date: Wed, 20 Dec 2023 19:22:20 +0000 Subject: [PATCH] Updated API models and rebuilt service gems. --- apis/appstream/2016-12-01/api-2.json | 6 +- apis/appstream/2016-12-01/docs-2.json | 3 +- apis/eks/2017-11-01/api-2.json | 201 +++++++++ apis/eks/2017-11-01/docs-2.json | 172 +++++++- apis/eks/2017-11-01/paginators-1.json | 6 + apis/guardduty/2017-11-28/api-2.json | 139 ++++++- apis/guardduty/2017-11-28/docs-2.json | 106 ++++- .../2023-05-04/api-2.json | 26 +- .../2023-05-04/docs-2.json | 14 +- apis/mediatailor/2018-04-23/api-2.json | 22 +- apis/mediatailor/2018-04-23/docs-2.json | 13 +- apis/route53/2013-04-01/api-2.json | 9 +- apis/route53/2013-04-01/docs-2.json | 2 +- apis/route53/2013-04-01/endpoint-tests-1.json | 55 ++- gems/aws-partitions/CHANGELOG.md | 5 + gems/aws-partitions/VERSION | 2 +- gems/aws-partitions/partitions-metadata.json | 3 + gems/aws-partitions/partitions.json | 287 +++++++++++++ gems/aws-sdk-appstream/CHANGELOG.md | 5 + gems/aws-sdk-appstream/VERSION | 2 +- .../lib/aws-sdk-appstream.rb | 2 +- .../lib/aws-sdk-appstream/client.rb | 7 +- .../lib/aws-sdk-appstream/client_api.rb | 2 + .../lib/aws-sdk-appstream/types.rb | 22 +- gems/aws-sdk-core/CHANGELOG.md | 3 + gems/aws-sdk-core/VERSION | 2 +- gems/aws-sdk-core/lib/aws-sdk-sso.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-sso/client.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb | 2 +- .../lib/aws-sdk-ssooidc/client.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-sts.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-sts/client.rb | 2 +- gems/aws-sdk-eks/CHANGELOG.md | 5 + gems/aws-sdk-eks/VERSION | 2 +- gems/aws-sdk-eks/lib/aws-sdk-eks.rb | 2 +- gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb | 150 ++++++- .../aws-sdk-eks/lib/aws-sdk-eks/client_api.rb | 137 ++++++ gems/aws-sdk-eks/lib/aws-sdk-eks/endpoints.rb | 28 ++ .../lib/aws-sdk-eks/plugins/endpoints.rb | 4 + gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb | 393 +++++++++++++++++- gems/aws-sdk-eventbridge/CHANGELOG.md | 5 + gems/aws-sdk-eventbridge/VERSION | 2 +- .../lib/aws-sdk-eventbridge.rb | 2 +- .../lib/aws-sdk-eventbridge/client.rb | 2 +- .../spec/endpoint_provider_spec.rb | 2 +- gems/aws-sdk-guardduty/CHANGELOG.md | 5 + gems/aws-sdk-guardduty/VERSION | 2 +- .../lib/aws-sdk-guardduty.rb | 2 +- .../lib/aws-sdk-guardduty/client.rb | 70 +++- .../lib/aws-sdk-guardduty/client_api.rb | 61 +++ .../lib/aws-sdk-guardduty/endpoints.rb | 14 + .../aws-sdk-guardduty/plugins/endpoints.rb | 2 + .../lib/aws-sdk-guardduty/types.rb | 205 ++++++++- .../CHANGELOG.md | 5 + gems/aws-sdk-managedblockchainquery/VERSION | 2 +- .../lib/aws-sdk-managedblockchainquery.rb | 2 +- .../aws-sdk-managedblockchainquery/client.rb | 38 +- .../client_api.rb | 6 +- .../aws-sdk-managedblockchainquery/types.rb | 24 +- gems/aws-sdk-mediatailor/CHANGELOG.md | 5 + gems/aws-sdk-mediatailor/VERSION | 2 +- .../lib/aws-sdk-mediatailor.rb | 2 +- .../lib/aws-sdk-mediatailor/client.rb | 22 +- .../lib/aws-sdk-mediatailor/client_api.rb | 9 + .../lib/aws-sdk-mediatailor/types.rb | 53 ++- gems/aws-sdk-route53/CHANGELOG.md | 5 + gems/aws-sdk-route53/VERSION | 2 +- gems/aws-sdk-route53/lib/aws-sdk-route53.rb | 2 +- .../lib/aws-sdk-route53/client.rb | 38 +- .../lib/aws-sdk-route53/types.rb | 6 - .../spec/endpoint_provider_spec.rb | 41 +- gems/aws-sdk-s3control/CHANGELOG.md | 5 + gems/aws-sdk-s3control/VERSION | 2 +- .../lib/aws-sdk-s3control.rb | 2 +- .../lib/aws-sdk-s3control/client.rb | 2 +- .../spec/endpoint_provider_spec.rb | 2 +- 76 files changed, 2324 insertions(+), 176 deletions(-) diff --git a/apis/appstream/2016-12-01/api-2.json b/apis/appstream/2016-12-01/api-2.json index 48c98b7ff14..ac33cfa6e4f 100644 --- a/apis/appstream/2016-12-01/api-2.json +++ b/apis/appstream/2016-12-01/api-2.json @@ -290,7 +290,8 @@ {"shape":"ConcurrentModificationException"}, {"shape":"InvalidRoleException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterCombinationException"} + {"shape":"InvalidParameterCombinationException"}, + {"shape":"OperationNotPermittedException"} ] }, "CreateStreamingURL":{ @@ -3597,7 +3598,8 @@ ], "members":{ "Action":{"shape":"Action"}, - "Permission":{"shape":"Permission"} + "Permission":{"shape":"Permission"}, + "MaximumLength":{"shape":"Integer"} } }, "UserSettingList":{ diff --git a/apis/appstream/2016-12-01/docs-2.json b/apis/appstream/2016-12-01/docs-2.json index 018893bf58f..4bc66152809 100644 --- a/apis/appstream/2016-12-01/docs-2.json +++ b/apis/appstream/2016-12-01/docs-2.json @@ -1355,7 +1355,8 @@ "UpdateFleetRequest$DisconnectTimeoutInSeconds": "

The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

", "UpdateFleetRequest$IdleDisconnectTimeoutInSeconds": "

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

", "UpdateFleetRequest$MaxConcurrentSessions": "

The maximum number of concurrent sessions for a fleet.

", - "UpdateFleetRequest$MaxSessionsPerInstance": "

The maximum number of user sessions on an instance. This only applies to multi-session fleets.

" + "UpdateFleetRequest$MaxSessionsPerInstance": "

The maximum number of user sessions on an instance. This only applies to multi-session fleets.

", + "UserSetting$MaximumLength": "

Specifies the number of characters that can be copied by end users from the local device to the remote session, and to the local device from the remote session.

This can be specified only for the CLIPBOARD_COPY_FROM_LOCAL_DEVICE and CLIPBOARD_COPY_TO_LOCAL_DEVICE actions.

This defaults to 20,971,520 (20 MB) when unspecified and the permission is ENABLED. This can't be specified when the permission is DISABLED.

This can only be specified for AlwaysOn and OnDemand fleets. The attribute is not supported on Elastic fleets.

The value can be between 1 and 20,971,520 (20 MB).

" } }, "InvalidAccountStatusException": { diff --git a/apis/eks/2017-11-01/api-2.json b/apis/eks/2017-11-01/api-2.json index 6901b39b41d..3afff8cb1f5 100644 --- a/apis/eks/2017-11-01/api-2.json +++ b/apis/eks/2017-11-01/api-2.json @@ -426,6 +426,21 @@ {"shape":"ServiceUnavailableException"} ] }, + "DescribeInsight":{ + "name":"DescribeInsight", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/insights/{id}" + }, + "input":{"shape":"DescribeInsightRequest"}, + "output":{"shape":"DescribeInsightResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ] + }, "DescribeNodegroup":{ "name":"DescribeNodegroup", "http":{ @@ -621,6 +636,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "ListInsights":{ + "name":"ListInsights", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/insights" + }, + "input":{"shape":"ListInsightsRequest"}, + "output":{"shape":"ListInsightsResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ] + }, "ListNodegroups":{ "name":"ListNodegroups", "http":{ @@ -929,6 +959,11 @@ "namespace" ] }, + "AdditionalInfoMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, "Addon":{ "type":"structure", "members":{ @@ -1163,6 +1198,14 @@ "SPOT" ] }, + "Category":{ + "type":"string", + "enum":["UPGRADE_READINESS"] + }, + "CategoryList":{ + "type":"list", + "member":{"shape":"Category"} + }, "Certificate":{ "type":"structure", "members":{ @@ -1181,6 +1224,18 @@ "error":{"httpStatusCode":400}, "exception":true }, + "ClientStat":{ + "type":"structure", + "members":{ + "userAgent":{"shape":"String"}, + "numberOfRequestsLast30Days":{"shape":"Integer"}, + "lastRequestTime":{"shape":"Timestamp"} + } + }, + "ClientStats":{ + "type":"list", + "member":{"shape":"ClientStat"} + }, "Cluster":{ "type":"structure", "members":{ @@ -1711,6 +1766,20 @@ "association":{"shape":"PodIdentityAssociation"} } }, + "DeprecationDetail":{ + "type":"structure", + "members":{ + "usage":{"shape":"String"}, + "replacedWith":{"shape":"String"}, + "stopServingVersion":{"shape":"String"}, + "startServingReplacementVersion":{"shape":"String"}, + "clientStats":{"shape":"ClientStats"} + } + }, + "DeprecationDetails":{ + "type":"list", + "member":{"shape":"DeprecationDetail"} + }, "DeregisterClusterRequest":{ "type":"structure", "required":["name"], @@ -1938,6 +2007,31 @@ "identityProviderConfig":{"shape":"IdentityProviderConfigResponse"} } }, + "DescribeInsightRequest":{ + "type":"structure", + "required":[ + "clusterName", + "id" + ], + "members":{ + "clusterName":{ + "shape":"String", + "location":"uri", + "locationName":"name" + }, + "id":{ + "shape":"String", + "location":"uri", + "locationName":"id" + } + } + }, + "DescribeInsightResponse":{ + "type":"structure", + "members":{ + "insight":{"shape":"Insight"} + } + }, "DescribeNodegroupRequest":{ "type":"structure", "required":[ @@ -2258,6 +2352,86 @@ "type":"list", "member":{"shape":"String"} }, + "Insight":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "name":{"shape":"String"}, + "category":{"shape":"Category"}, + "kubernetesVersion":{"shape":"String"}, + "lastRefreshTime":{"shape":"Timestamp"}, + "lastTransitionTime":{"shape":"Timestamp"}, + "description":{"shape":"String"}, + "insightStatus":{"shape":"InsightStatus"}, + "recommendation":{"shape":"String"}, + "additionalInfo":{"shape":"AdditionalInfoMap"}, + "resources":{"shape":"InsightResourceDetails"}, + "categorySpecificSummary":{"shape":"InsightCategorySpecificSummary"} + } + }, + "InsightCategorySpecificSummary":{ + "type":"structure", + "members":{ + "deprecationDetails":{"shape":"DeprecationDetails"} + } + }, + "InsightResourceDetail":{ + "type":"structure", + "members":{ + "insightStatus":{"shape":"InsightStatus"}, + "kubernetesResourceUri":{"shape":"String"}, + "arn":{"shape":"String"} + } + }, + "InsightResourceDetails":{ + "type":"list", + "member":{"shape":"InsightResourceDetail"} + }, + "InsightStatus":{ + "type":"structure", + "members":{ + "status":{"shape":"InsightStatusValue"}, + "reason":{"shape":"String"} + } + }, + "InsightStatusValue":{ + "type":"string", + "enum":[ + "PASSING", + "WARNING", + "ERROR", + "UNKNOWN" + ] + }, + "InsightStatusValueList":{ + "type":"list", + "member":{"shape":"InsightStatusValue"} + }, + "InsightSummaries":{ + "type":"list", + "member":{"shape":"InsightSummary"} + }, + "InsightSummary":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "name":{"shape":"String"}, + "category":{"shape":"Category"}, + "kubernetesVersion":{"shape":"String"}, + "lastRefreshTime":{"shape":"Timestamp"}, + "lastTransitionTime":{"shape":"Timestamp"}, + "description":{"shape":"String"}, + "insightStatus":{"shape":"InsightStatus"} + } + }, + "InsightsFilter":{ + "type":"structure", + "members":{ + "categories":{"shape":"CategoryList"}, + "kubernetesVersions":{"shape":"StringList"}, + "statuses":{"shape":"InsightStatusValueList"} + } + }, "Integer":{"type":"integer"}, "InvalidParameterException":{ "type":"structure", @@ -2599,6 +2773,33 @@ "nextToken":{"shape":"String"} } }, + "ListInsightsMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListInsightsRequest":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterName":{ + "shape":"String", + "location":"uri", + "locationName":"name" + }, + "filter":{"shape":"InsightsFilter"}, + "maxResults":{"shape":"ListInsightsMaxResults"}, + "nextToken":{"shape":"String"} + } + }, + "ListInsightsResponse":{ + "type":"structure", + "members":{ + "insights":{"shape":"InsightSummaries"}, + "nextToken":{"shape":"String"} + } + }, "ListNodegroupsRequest":{ "type":"structure", "required":["clusterName"], diff --git a/apis/eks/2017-11-01/docs-2.json b/apis/eks/2017-11-01/docs-2.json index d0ca41aef26..329e8557542 100644 --- a/apis/eks/2017-11-01/docs-2.json +++ b/apis/eks/2017-11-01/docs-2.json @@ -28,6 +28,7 @@ "DescribeEksAnywhereSubscription": "

Returns descriptive information about a subscription.

", "DescribeFargateProfile": "

Describes an Fargate profile.

", "DescribeIdentityProviderConfig": "

Describes an identity provider configuration.

", + "DescribeInsight": "

Returns details about an insight that you specify using its ID.

", "DescribeNodegroup": "

Describes a managed node group.

", "DescribePodIdentityAssociation": "

Returns descriptive information about an EKS Pod Identity association.

This action requires the ID of the association. You can get the ID from the response to the CreatePodIdentityAssocation for newly created associations. Or, you can list the IDs for associations with ListPodIdentityAssociations and filter the list by namespace or service account.

", "DescribeUpdate": "

Describes an update to an Amazon EKS resource.

When the status of the update is Succeeded, the update is complete. If an update fails, the status is Failed, and an error detail explains the reason for the failure.

", @@ -41,6 +42,7 @@ "ListEksAnywhereSubscriptions": "

Displays the full description of the subscription.

", "ListFargateProfiles": "

Lists the Fargate profiles associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region.

", "ListIdentityProviderConfigs": "

Lists the identity provider configurations for your cluster.

", + "ListInsights": "

Returns a list of all insights checked for against the specified cluster. You can filter which insights are returned by category, associated Kubernetes version, and status.

", "ListNodegroups": "

Lists the managed node groups associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region. Self-managed node groups aren't listed.

", "ListPodIdentityAssociations": "

List the EKS Pod Identity associations in a cluster. You can filter the list by the namespace that the association is in or the service account that the association uses.

", "ListTagsForResource": "

List the tags for an Amazon EKS resource.

", @@ -109,6 +111,12 @@ "AccessScope$type": "

The scope type of an access policy.

" } }, + "AdditionalInfoMap": { + "base": null, + "refs": { + "Insight$additionalInfo": "

Links to sources that provide additional context on the insight.

" + } + }, "Addon": { "base": "

An Amazon EKS add-on. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.

", "refs": { @@ -283,6 +291,20 @@ "Nodegroup$capacityType": "

The capacity type of your managed node group.

" } }, + "Category": { + "base": null, + "refs": { + "CategoryList$member": null, + "Insight$category": "

The category of the insight.

", + "InsightSummary$category": "

The category of the insight.

" + } + }, + "CategoryList": { + "base": null, + "refs": { + "InsightsFilter$categories": "

The categories to use to filter insights.

" + } + }, "Certificate": { "base": "

An object representing the certificate-authority-data for your cluster.

", "refs": { @@ -294,6 +316,18 @@ "refs": { } }, + "ClientStat": { + "base": "

Details about clients using the deprecated resources.

", + "refs": { + "ClientStats$member": null + } + }, + "ClientStats": { + "base": null, + "refs": { + "DeprecationDetail$clientStats": "

Details about Kubernetes clients using the deprecated resources.

" + } + }, "Cluster": { "base": "

An object representing an Amazon EKS cluster.

", "refs": { @@ -535,6 +569,18 @@ "refs": { } }, + "DeprecationDetail": { + "base": "

The summary information about deprecated resource usage for an insight check in the UPGRADE_READINESS category.

", + "refs": { + "DeprecationDetails$member": null + } + }, + "DeprecationDetails": { + "base": null, + "refs": { + "InsightCategorySpecificSummary$deprecationDetails": "

The summary information about deprecated resource usage for an insight check in the UPGRADE_READINESS category.

" + } + }, "DeregisterClusterRequest": { "base": null, "refs": { @@ -631,6 +677,16 @@ "refs": { } }, + "DescribeInsightRequest": { + "base": null, + "refs": { + } + }, + "DescribeInsightResponse": { + "base": null, + "refs": { + } + }, "DescribeNodegroupRequest": { "base": null, "refs": { @@ -838,9 +894,73 @@ "ListClustersRequest$include": "

Indicates whether external clusters are included in the returned list. Use 'all' to return https://docs.aws.amazon.com/eks/latest/userguide/eks-connector.htmlconnected clusters, or blank to return only Amazon EKS clusters. 'all' must be in lowercase otherwise an error occurs.

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

A check that provides recommendations to remedy potential upgrade-impacting issues.

", + "refs": { + "DescribeInsightResponse$insight": "

The full description of the insight.

" + } + }, + "InsightCategorySpecificSummary": { + "base": "

Summary information that relates to the category of the insight. Currently only returned with certain insights having category UPGRADE_READINESS.

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

Summary information that relates to the category of the insight. Currently only returned with certain insights having category UPGRADE_READINESS.

" + } + }, + "InsightResourceDetail": { + "base": "

Returns information about the resource being evaluated.

", + "refs": { + "InsightResourceDetails$member": null + } + }, + "InsightResourceDetails": { + "base": null, + "refs": { + "Insight$resources": "

The details about each resource listed in the insight check result.

" + } + }, + "InsightStatus": { + "base": "

The status of the insight.

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

An object containing more detail on the status of the insight resource.

", + "InsightResourceDetail$insightStatus": "

An object containing more detail on the status of the insight resource.

", + "InsightSummary$insightStatus": "

An object containing more detail on the status of the insight.

" + } + }, + "InsightStatusValue": { + "base": null, + "refs": { + "InsightStatus$status": "

The status of the resource.

", + "InsightStatusValueList$member": null + } + }, + "InsightStatusValueList": { + "base": null, + "refs": { + "InsightsFilter$statuses": "

The statuses to use to filter the insights.

" + } + }, + "InsightSummaries": { + "base": null, + "refs": { + "ListInsightsResponse$insights": "

The returned list of insights.

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

The summarized description of the insight.

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

The criteria to use for the insights.

", + "refs": { + "ListInsightsRequest$filter": "

The criteria to filter your list of insights for your cluster. You can filter which insights are returned by category, associated Kubernetes version, and status.

" + } + }, "Integer": { "base": null, "refs": { + "ClientStat$numberOfRequestsLast30Days": "

The number of requests from the Kubernetes client seen over the last 30 days.

", "CreateEksAnywhereSubscriptionRequest$licenseQuantity": "

The number of licenses to purchase with the subscription. Valid values are between 1 and 100. This value can't be changed after creating the subscription.

", "EksAnywhereSubscription$licenseQuantity": "

The number of licenses included in a subscription. Valid values are between 1 and 100.

", "EksAnywhereSubscriptionTerm$duration": "

The duration of the subscription term. Valid values are 12 and 36, indicating a 12 month or 36 month subscription.

" @@ -1017,6 +1137,22 @@ "refs": { } }, + "ListInsightsMaxResults": { + "base": null, + "refs": { + "ListInsightsRequest$maxResults": "

The maximum number of identity provider configurations returned by ListInsights in paginated output. When you use this parameter, ListInsights returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListInsights request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListInsights returns up to 100 results and a nextToken value, if applicable.

" + } + }, + "ListInsightsRequest": { + "base": null, + "refs": { + } + }, + "ListInsightsResponse": { + "base": null, + "refs": { + } + }, "ListNodegroupsRequest": { "base": null, "refs": { @@ -1308,6 +1444,8 @@ "AccessEntry$type": "

The type of the access entry.

", "AccessPolicy$name": "

The name of the access policy.

", "AccessPolicy$arn": "

The ARN of the access policy.

", + "AdditionalInfoMap$key": null, + "AdditionalInfoMap$value": null, "Addon$addonName": "

The name of the add-on.

", "Addon$addonVersion": "

The version of the add-on.

", "Addon$addonArn": "

The Amazon Resource Name (ARN) of the add-on.

", @@ -1339,6 +1477,7 @@ "ClientException$addonName": "

The Amazon EKS add-on name associated with the exception.

", "ClientException$subscriptionId": "

The Amazon EKS subscription ID with the exception.

", "ClientException$message": "

These errors are usually caused by a client action. Actions can include using an action or resource on behalf of an IAM principal that doesn't have permissions to use the action or resource or specifying an identifier that is not valid.

", + "ClientStat$userAgent": "

The user agent of the Kubernetes client using the deprecated resource.

", "Cluster$name": "

The name of your cluster.

", "Cluster$arn": "

The Amazon Resource Name (ARN) of the cluster.

", "Cluster$version": "

The Kubernetes server version for the cluster.

", @@ -1357,10 +1496,10 @@ "ControlPlanePlacementRequest$groupName": "

The name of the placement group for the Kubernetes control plane instances. This setting can't be changed after cluster creation.

", "ControlPlanePlacementResponse$groupName": "

The name of the placement group for the Kubernetes control plane instances.

", "CreateAccessEntryRequest$clusterName": "

The name of your cluster.

", - "CreateAccessEntryRequest$principalArn": "

The ARN of the IAM principal for the AccessEntry. You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation.

IAM best practices recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.

", + "CreateAccessEntryRequest$principalArn": "

The ARN of the IAM principal for the AccessEntry. You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation.

The valid principals differ depending on the type of the access entry in the type field. The only valid ARN is IAM roles for the types of access entries for nodes: . You can use every IAM principal type for STANDARD access entries. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions.

IAM best practices recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.

", "CreateAccessEntryRequest$clientRequestToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "CreateAccessEntryRequest$username": "

The username to authenticate to Kubernetes with. We recommend not specifying a username and letting Amazon EKS specify it for you. For more information about the value Amazon EKS specifies for you, or constraints before specifying your own username, see Creating access entries in the Amazon EKS User Guide.

", - "CreateAccessEntryRequest$type": "

If the principalArn is for an IAM role that's used for self-managed Amazon EC2 nodes, specify EC2_LINUX or EC2_WINDOWS. Amazon EKS grants the necessary permissions to the node for you. If the principalArn is for any other purpose, specify STANDARD. If you don't specify a value, Amazon EKS sets the value to STANDARD. It's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the aws-auth ConfigMap for the roles. You can't change this value once you've created the access entry.

If you set the value to EC2_LINUX or EC2_WINDOWS, you can't specify values for kubernetesGroups, or associate an AccessPolicy to the access entry.

", + "CreateAccessEntryRequest$type": "

The type of the new access entry. Valid values are Standard, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS.

If the principalArn is for an IAM role that's used for self-managed Amazon EC2 nodes, specify EC2_LINUX or EC2_WINDOWS. Amazon EKS grants the necessary permissions to the node for you. If the principalArn is for any other purpose, specify STANDARD. If you don't specify a value, Amazon EKS sets the value to STANDARD. It's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the aws-auth ConfigMap for the roles. You can't change this value once you've created the access entry.

If you set the value to EC2_LINUX or EC2_WINDOWS, you can't specify values for kubernetesGroups, or associate an AccessPolicy to the access entry.

", "CreateAddonRequest$addonName": "

The name of the add-on. The name must match one of the names returned by DescribeAddonVersions.

", "CreateAddonRequest$addonVersion": "

The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions .

", "CreateAddonRequest$clientRequestToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", @@ -1395,6 +1534,10 @@ "DeleteNodegroupRequest$nodegroupName": "

The name of the node group to delete.

", "DeletePodIdentityAssociationRequest$clusterName": "

The cluster name that

", "DeletePodIdentityAssociationRequest$associationId": "

The ID of the association to be deleted.

", + "DeprecationDetail$usage": "

The deprecated version of the resource.

", + "DeprecationDetail$replacedWith": "

The newer version of the resource to migrate to if applicable.

", + "DeprecationDetail$stopServingVersion": "

The version of the software where the deprecated resource version will stop being served.

", + "DeprecationDetail$startServingReplacementVersion": "

The version of the software where the newer resource version became available to migrate to if applicable.

", "DeregisterClusterRequest$name": "

The name of the connected cluster to deregister.

", "DescribeAccessEntryRequest$clusterName": "

The name of your cluster.

", "DescribeAccessEntryRequest$principalArn": "

The ARN of the IAM principal for the AccessEntry.

", @@ -1413,6 +1556,8 @@ "DescribeFargateProfileRequest$clusterName": "

The name of your cluster.

", "DescribeFargateProfileRequest$fargateProfileName": "

The name of the Fargate profile to describe.

", "DescribeIdentityProviderConfigRequest$clusterName": "

The name of your cluster.

", + "DescribeInsightRequest$clusterName": "

The name of the cluster to describe the insight for.

", + "DescribeInsightRequest$id": "

The identity of the insight to describe.

", "DescribeNodegroupRequest$clusterName": "

The name of your cluster.

", "DescribeNodegroupRequest$nodegroupName": "

The name of the node group to describe.

", "DescribePodIdentityAssociationRequest$clusterName": "

The name of the cluster that the association is in.

", @@ -1440,6 +1585,18 @@ "IdentityProviderConfig$type": "

The type of the identity provider configuration. The only type available is oidc.

", "IdentityProviderConfig$name": "

The name of the identity provider configuration.

", "IncludeClustersList$member": null, + "Insight$id": "

The ID of the insight.

", + "Insight$name": "

The name of the insight.

", + "Insight$kubernetesVersion": "

The Kubernetes minor version associated with an insight if applicable.

", + "Insight$description": "

The description of the insight which includes alert criteria, remediation recommendation, and additional resources (contains Markdown).

", + "Insight$recommendation": "

A summary of how to remediate the finding of this insight if applicable.

", + "InsightResourceDetail$kubernetesResourceUri": "

The Kubernetes resource URI if applicable.

", + "InsightResourceDetail$arn": "

The Amazon Resource Name (ARN) if applicable.

", + "InsightStatus$reason": "

Explanation on the reasoning for the status of the resource.

", + "InsightSummary$id": "

The ID of the insight.

", + "InsightSummary$name": "

The name of the insight.

", + "InsightSummary$kubernetesVersion": "

The Kubernetes minor version associated with an insight if applicable.

", + "InsightSummary$description": "

The description of the insight which includes alert criteria, remediation recommendation, and additional resources (contains Markdown).

", "InvalidParameterException$clusterName": "

The Amazon EKS cluster associated with the exception.

", "InvalidParameterException$nodegroupName": "

The Amazon EKS managed node group associated with the exception.

", "InvalidParameterException$fargateProfileName": "

The Fargate profile associated with the exception.

", @@ -1481,7 +1638,10 @@ "ListFargateProfilesResponse$nextToken": "

The nextToken value returned from a previous paginated request, where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

", "ListIdentityProviderConfigsRequest$clusterName": "

The name of your cluster.

", "ListIdentityProviderConfigsRequest$nextToken": "

The nextToken value returned from a previous paginated request, where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

", - "ListIdentityProviderConfigsResponse$nextToken": "

The nextToken value to include in a future ListIdentityProviderConfigsResponse request. When the results of a ListIdentityProviderConfigsResponse request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

", + "ListIdentityProviderConfigsResponse$nextToken": "

The nextToken value to include in a future ListIdentityProviderConfigsResponse request. When the results of a ListIdentityProviderConfigsResponse request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

", + "ListInsightsRequest$clusterName": "

The name of the Amazon EKS cluster associated with the insights.

", + "ListInsightsRequest$nextToken": "

The nextToken value returned from a previous paginated ListInsights request. When the results of a ListInsights request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

", + "ListInsightsResponse$nextToken": "

The nextToken value to include in a future ListInsights request. When the results of a ListInsights request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

", "ListNodegroupsRequest$clusterName": "

The name of your cluster.

", "ListNodegroupsRequest$nextToken": "

The nextToken value returned from a previous paginated request, where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

", "ListNodegroupsResponse$nextToken": "

The nextToken value returned from a previous paginated request, where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

", @@ -1620,6 +1780,7 @@ "EncryptionConfig$resources": "

Specifies the resources to be encrypted. The only supported value is secrets.

", "ErrorDetail$resourceIds": "

An optional field that contains the resource IDs associated with the error.

", "FargateProfile$subnets": "

The IDs of subnets to launch a Pod into.

", + "InsightsFilter$kubernetesVersions": "

The Kubernetes versions to use to filter the insights.

", "Issue$resourceIds": "

The Amazon Web Services resources that are afflicted by this issue.

", "ListAccessEntriesResponse$accessEntries": "

The list of access entries that exist for the cluster.

", "ListAddonsResponse$addons": "

A list of installed add-ons.

", @@ -1717,12 +1878,17 @@ "Addon$modifiedAt": "

The Unix epoch timestamp for the last modification to the object.

", "AssociatedAccessPolicy$associatedAt": "

The date and time the AccessPolicy was associated with an AccessEntry.

", "AssociatedAccessPolicy$modifiedAt": "

The Unix epoch timestamp for the last modification to the object.

", + "ClientStat$lastRequestTime": "

The timestamp of the last request seen from the Kubernetes client.

", "Cluster$createdAt": "

The Unix epoch timestamp at object creation.

", "ConnectorConfigResponse$activationExpiry": "

The expiration time of the connected cluster. The cluster's YAML file must be applied through the native provider.

", "EksAnywhereSubscription$createdAt": "

The Unix timestamp in seconds for when the subscription was created.

", "EksAnywhereSubscription$effectiveDate": "

The Unix timestamp in seconds for when the subscription is effective.

", "EksAnywhereSubscription$expirationDate": "

The Unix timestamp in seconds for when the subscription will expire or auto renew, depending on the auto renew configuration of the subscription object.

", "FargateProfile$createdAt": "

The Unix epoch timestamp at object creation.

", + "Insight$lastRefreshTime": "

The time Amazon EKS last successfully completed a refresh of this insight check on the cluster.

", + "Insight$lastTransitionTime": "

The time the status of the insight last changed.

", + "InsightSummary$lastRefreshTime": "

The time Amazon EKS last successfully completed a refresh of this insight check on the cluster.

", + "InsightSummary$lastTransitionTime": "

The time the status of the insight last changed.

", "Nodegroup$createdAt": "

The Unix epoch timestamp at object creation.

", "Nodegroup$modifiedAt": "

The Unix epoch timestamp for the last modification to the object.

", "PodIdentityAssociation$createdAt": "

The timestamp that the association was created at.

", diff --git a/apis/eks/2017-11-01/paginators-1.json b/apis/eks/2017-11-01/paginators-1.json index 9dfd7e4edde..c207f174fb5 100644 --- a/apis/eks/2017-11-01/paginators-1.json +++ b/apis/eks/2017-11-01/paginators-1.json @@ -58,6 +58,12 @@ "output_token": "nextToken", "result_key": "identityProviderConfigs" }, + "ListInsights": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "insights" + }, "ListNodegroups": { "input_token": "nextToken", "limit_key": "maxResults", diff --git a/apis/guardduty/2017-11-28/api-2.json b/apis/guardduty/2017-11-28/api-2.json index d270a8e1730..3609fa6b161 100644 --- a/apis/guardduty/2017-11-28/api-2.json +++ b/apis/guardduty/2017-11-28/api-2.json @@ -550,6 +550,19 @@ {"shape":"InternalServerErrorException"} ] }, + "GetOrganizationStatistics":{ + "name":"GetOrganizationStatistics", + "http":{ + "method":"GET", + "requestUri":"/organization/statistics", + "responseCode":200 + }, + "output":{"shape":"GetOrganizationStatisticsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "GetRemainingFreeTrialDays":{ "name":"GetRemainingFreeTrialDays", "http":{ @@ -3890,6 +3903,15 @@ } } }, + "GetOrganizationStatisticsResponse":{ + "type":"structure", + "members":{ + "OrganizationDetails":{ + "shape":"OrganizationDetails", + "locationName":"organizationDetails" + } + } + }, "GetRemainingFreeTrialDaysRequest":{ "type":"structure", "required":["DetectorId"], @@ -5484,6 +5506,19 @@ } } }, + "OrganizationDetails":{ + "type":"structure", + "members":{ + "UpdatedAt":{ + "shape":"Timestamp", + "locationName":"updatedAt" + }, + "OrganizationStatistics":{ + "shape":"OrganizationStatistics", + "locationName":"organizationStatistics" + } + } + }, "OrganizationEbsVolumes":{ "type":"structure", "members":{ @@ -5536,6 +5571,44 @@ } } }, + "OrganizationFeatureStatistics":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"OrgFeature", + "locationName":"name" + }, + "EnabledAccountsCount":{ + "shape":"Integer", + "locationName":"enabledAccountsCount" + }, + "AdditionalConfiguration":{ + "shape":"OrganizationFeatureStatisticsAdditionalConfigurations", + "locationName":"additionalConfiguration" + } + } + }, + "OrganizationFeatureStatisticsAdditionalConfiguration":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"OrgFeatureAdditionalConfiguration", + "locationName":"name" + }, + "EnabledAccountsCount":{ + "shape":"Integer", + "locationName":"enabledAccountsCount" + } + } + }, + "OrganizationFeatureStatisticsAdditionalConfigurations":{ + "type":"list", + "member":{"shape":"OrganizationFeatureStatisticsAdditionalConfiguration"} + }, + "OrganizationFeatureStatisticsResults":{ + "type":"list", + "member":{"shape":"OrganizationFeatureStatistics"} + }, "OrganizationFeaturesConfigurations":{ "type":"list", "member":{"shape":"OrganizationFeatureConfiguration"} @@ -5640,6 +5713,31 @@ } } }, + "OrganizationStatistics":{ + "type":"structure", + "members":{ + "TotalAccountsCount":{ + "shape":"Integer", + "locationName":"totalAccountsCount" + }, + "MemberAccountsCount":{ + "shape":"Integer", + "locationName":"memberAccountsCount" + }, + "ActiveAccountsCount":{ + "shape":"Integer", + "locationName":"activeAccountsCount" + }, + "EnabledAccountsCount":{ + "shape":"Integer", + "locationName":"enabledAccountsCount" + }, + "CountByFeature":{ + "shape":"OrganizationFeatureStatisticsResults", + "locationName":"countByFeature" + } + } + }, "Owner":{ "type":"structure", "members":{ @@ -7322,7 +7420,8 @@ "SUM_BY_DATA_SOURCE", "SUM_BY_RESOURCE", "TOP_RESOURCES", - "SUM_BY_FEATURES" + "SUM_BY_FEATURES", + "TOP_ACCOUNTS_BY_FEATURE" ] }, "UsageStatistics":{ @@ -7332,6 +7431,10 @@ "shape":"UsageAccountResultList", "locationName":"sumByAccount" }, + "TopAccountsByFeature":{ + "shape":"UsageTopAccountsResultList", + "locationName":"topAccountsByFeature" + }, "SumByDataSource":{ "shape":"UsageDataSourceResultList", "locationName":"sumByDataSource" @@ -7350,6 +7453,40 @@ } } }, + "UsageTopAccountResult":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "locationName":"accountId" + }, + "Total":{ + "shape":"Total", + "locationName":"total" + } + } + }, + "UsageTopAccountsByFeatureList":{ + "type":"list", + "member":{"shape":"UsageTopAccountResult"} + }, + "UsageTopAccountsResult":{ + "type":"structure", + "members":{ + "Feature":{ + "shape":"UsageFeature", + "locationName":"feature" + }, + "Accounts":{ + "shape":"UsageTopAccountsByFeatureList", + "locationName":"accounts" + } + } + }, + "UsageTopAccountsResultList":{ + "type":"list", + "member":{"shape":"UsageTopAccountsResult"} + }, "Volume":{ "type":"structure", "members":{ diff --git a/apis/guardduty/2017-11-28/docs-2.json b/apis/guardduty/2017-11-28/docs-2.json index e1a9f8cf4f0..af7bd28e224 100644 --- a/apis/guardduty/2017-11-28/docs-2.json +++ b/apis/guardduty/2017-11-28/docs-2.json @@ -8,7 +8,7 @@ "CreateDetector": "

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

There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.

", "CreateFilter": "

Creates a filter using the specified finding criteria. The maximum number of saved filters per Amazon Web Services account per Region is 100. For more information, see Quotas for GuardDuty.

", "CreateIPSet": "

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

", - "CreateMembers": "

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

As a delegated administrator, using CreateMembers will enable GuardDuty in the added member accounts, with the exception of the organization delegated administrator account. A delegated administrator must enable GuardDuty prior to being added as a member.

If you are adding accounts by invitation, before using InviteMembers, use CreateMembers after GuardDuty has been enabled in potential member accounts.

If you disassociate a member from a GuardDuty delegated administrator, the member account details obtained from this API, including the associated email addresses, will be retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.

", + "CreateMembers": "

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

As a delegated administrator, using CreateMembers will enable GuardDuty in the added member accounts, with the exception of the organization delegated administrator account. A delegated administrator must enable GuardDuty prior to being added as a member.

When you use CreateMembers as an Organizations delegated administrator, GuardDuty applies your organization's auto-enable settings to the member accounts in this request, irrespective of the accounts being new or existing members. For more information about the existing auto-enable settings for your organization, see DescribeOrganizationConfiguration.

If you are adding accounts by invitation, before using InviteMembers, use CreateMembers after GuardDuty has been enabled in potential member accounts.

If you disassociate a member from a GuardDuty delegated administrator, the member account details obtained from this API, including the associated email addresses, will be retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.

", "CreatePublishingDestination": "

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

", "CreateSampleFindings": "

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

", "CreateThreatIntelSet": "

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

", @@ -29,7 +29,7 @@ "DisassociateMembers": "

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

When you disassociate an invited member from a GuardDuty delegated administrator, the member account details obtained from the CreateMembers API, including the associated email addresses, are retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.

With autoEnableOrganizationMembers configuration for your organization set to ALL, you'll receive an error if you attempt to disassociate a member account before removing them from your organization.

", "EnableOrganizationAdminAccount": "

Designates an Amazon Web Services account within the organization as your GuardDuty delegated administrator. Only the organization's management account can run this API operation.

", "GetAdministratorAccount": "

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

If the organization's management account or a delegated administrator runs this API, it will return success (HTTP 200) but no content.

", - "GetCoverageStatistics": "

Retrieves aggregated statistics for your account. If you are a GuardDuty administrator, you can retrieve the statistics for all the resources associated with the active member accounts in your organization who have enabled EKS Runtime Monitoring and have the GuardDuty agent running on their EKS nodes.

", + "GetCoverageStatistics": "

Retrieves aggregated statistics for your account. If you are a GuardDuty administrator, you can retrieve the statistics for all the resources associated with the active member accounts in your organization who have enabled Runtime Monitoring and have the GuardDuty security agent running on their resources.

", "GetDetector": "

Retrieves an Amazon GuardDuty detector specified by the detectorId.

There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.

", "GetFilter": "

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

", "GetFindings": "

Describes Amazon GuardDuty findings specified by finding IDs.

", @@ -40,11 +40,12 @@ "GetMasterAccount": "

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

", "GetMemberDetectors": "

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

There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.

", "GetMembers": "

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

", + "GetOrganizationStatistics": "

Retrieves how many active member accounts in your Amazon Web Services organization have each feature enabled within GuardDuty. Only a delegated GuardDuty administrator of an organization can run this API.

When you create a new Amazon Web Services organization, it might take up to 24 hours to generate the statistics for the entire organization.

", "GetRemainingFreeTrialDays": "

Provides the number of days left for each data source used in the free trial period.

", "GetThreatIntelSet": "

Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.

", "GetUsageStatistics": "

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

", "InviteMembers": "

Invites Amazon Web Services accounts to become members of an organization administered by the Amazon Web Services account that invokes this API. If you are using Amazon Web Services Organizations to manage your GuardDuty environment, this step is not needed. For more information, see Managing accounts with organizations.

To invite Amazon Web Services accounts, the first step is to ensure that GuardDuty has been enabled in the potential member accounts. You can now invoke this API to add accounts by invitation. The invited accounts can either accept or decline the invitation from their GuardDuty accounts. Each invited Amazon Web Services account can choose to accept the invitation from only one Amazon Web Services account. For more information, see Managing GuardDuty accounts by invitation.

After the invite has been accepted and you choose to disassociate a member account (by using DisassociateMembers) from your account, the details of the member account obtained by invoking CreateMembers, including the associated email addresses, will be retained. This is done so that you can invoke InviteMembers without the need to invoke CreateMembers again. To remove the details associated with a member account, you must also invoke DeleteMembers.

", - "ListCoverage": "

Lists coverage details for your GuardDuty account. If you're a GuardDuty administrator, you can retrieve all resources associated with the active member accounts in your organization.

Make sure the accounts have EKS Runtime Monitoring enabled and GuardDuty agent running on their EKS nodes.

", + "ListCoverage": "

Lists coverage details for your GuardDuty account. If you're a GuardDuty administrator, you can retrieve all resources associated with the active member accounts in your organization.

Make sure the accounts have Runtime Monitoring enabled and GuardDuty agent running on their resources.

", "ListDetectors": "

Lists detectorIds of all the existing Amazon GuardDuty detector resources.

", "ListFilters": "

Returns a paginated list of the current filters.

", "ListFindings": "

Lists Amazon GuardDuty findings for the specified detector ID.

", @@ -146,7 +147,8 @@ "MemberDataSourceConfiguration$AccountId": "

The account ID for the member account.

", "Scan$AccountId": "

The ID for the account that belongs to the scan.

", "UnprocessedAccount$AccountId": "

The Amazon Web Services account ID.

", - "UsageAccountResult$AccountId": "

The Account ID that generated usage.

" + "UsageAccountResult$AccountId": "

The Account ID that generated usage.

", + "UsageTopAccountResult$AccountId": "

The unique account ID.

" } }, "AccountIds": { @@ -438,9 +440,9 @@ } }, "CoverageEc2InstanceDetails": { - "base": "

This API is also used when you use GuardDuty Runtime Monitoring for your Amazon EC2 instances (currently in preview release) and is subject to change.

Contains information about the Amazon EC2 instance runtime coverage details.

", + "base": "

This API is also used when you use GuardDuty Runtime Monitoring for your Amazon EC2 instances (currently in preview release) and is subject to change. The use of this API is subject to Section 2 of the Amazon Web Services Service Terms (\"Betas and Previews\").

Contains information about the Amazon EC2 instance runtime coverage details.

", "refs": { - "CoverageResourceDetails$Ec2InstanceDetails": "

This API is also used when you use GuardDuty Runtime Monitoring for your Amazon EC2 instances (currently in preview release) and is subject to change.

Information about the Amazon EC2 instance assessed for runtime coverage.

" + "CoverageResourceDetails$Ec2InstanceDetails": "

This API is also used when you use GuardDuty Runtime Monitoring for your Amazon EC2 instances (currently in preview release) and is subject to change. The use of this API is subject to Section 2 of the Amazon Web Services Service Terms (\"Betas and Previews\").

Information about the Amazon EC2 instance assessed for runtime coverage.

" } }, "CoverageEcsClusterDetails": { @@ -1116,7 +1118,7 @@ } }, "FargateDetails": { - "base": "

Contains information about AWS Fargate details associated with an Amazon ECS cluster.

", + "base": "

Contains information about Amazon Web Services Fargate details associated with an Amazon ECS cluster.

", "refs": { "CoverageEcsClusterDetails$FargateDetails": "

Information about the Fargate details associated with the Amazon ECS cluster.

" } @@ -1450,6 +1452,11 @@ "refs": { } }, + "GetOrganizationStatisticsResponse": { + "base": null, + "refs": { + } + }, "GetRemainingFreeTrialDaysRequest": { "base": null, "refs": { @@ -1554,6 +1561,12 @@ "LocalPortDetails$Port": "

The port number of the local connection.

", "LoginAttribute$FailedLoginAttempts": "

Represents the sum of failed (unsuccessful) login attempts made to establish a connection to the database instance.

", "LoginAttribute$SuccessfulLoginAttempts": "

Represents the sum of successful connections (a correct combination of login attributes) made to the database instance by the actor.

", + "OrganizationFeatureStatistics$EnabledAccountsCount": "

Total number of accounts that have enabled a specific feature.

", + "OrganizationFeatureStatisticsAdditionalConfiguration$EnabledAccountsCount": "

Total number of accounts that have enabled the additional configuration.

", + "OrganizationStatistics$TotalAccountsCount": "

Total number of accounts in your Amazon Web Services organization.

", + "OrganizationStatistics$MemberAccountsCount": "

Total number of accounts in your Amazon Web Services organization that are associated with GuardDuty.

", + "OrganizationStatistics$ActiveAccountsCount": "

Total number of active accounts in your Amazon Web Services organization that are associated with GuardDuty.

", + "OrganizationStatistics$EnabledAccountsCount": "

Total number of accounts that have enabled GuardDuty.

", "ProcessDetails$NamespacePid": "

The ID of the child process.

", "ProcessDetails$Pid": "

The ID of the process.

", "ProcessDetails$UserId": "

The unique ID of the user that executed the process.

", @@ -1632,7 +1645,7 @@ "Issues": { "base": null, "refs": { - "FargateDetails$Issues": "

Runtime coverage issues identified for the resource running on AWS Fargate.

" + "FargateDetails$Issues": "

Runtime coverage issues identified for the resource running on Amazon Web Services Fargate.

" } }, "KubernetesApiCallAction": { @@ -1917,9 +1930,9 @@ "ManagementType": { "base": null, "refs": { - "CoverageEc2InstanceDetails$ManagementType": "

Indicates how the GuardDuty security agent is managed for this resource.

  • AUTO_MANAGED indicates that GuardDuty deploys and manages updates for this resource.

  • MANUAL indicates that you are responsible to deploy, update, and manage the GuardDuty security agent updates for this resource.

The DISABLED status doesn't apply to Amazon EC2 instances and Amazon EKS clusters that run on Amazon EC2 instances.

", + "CoverageEc2InstanceDetails$ManagementType": "

Indicates how the GuardDuty security agent is managed for this resource.

  • AUTO_MANAGED indicates that GuardDuty deploys and manages updates for this resource.

  • MANUAL indicates that you are responsible to deploy, update, and manage the GuardDuty security agent updates for this resource.

The DISABLED status doesn't apply to Amazon EC2 instances and Amazon EKS clusters.

", "CoverageEksClusterDetails$ManagementType": "

Indicates how the Amazon EKS add-on GuardDuty agent is managed for this EKS cluster.

AUTO_MANAGED indicates GuardDuty deploys and manages updates for this resource.

MANUAL indicates that you are responsible to deploy, update, and manage the Amazon EKS add-on GuardDuty agent for this resource.

", - "FargateDetails$ManagementType": "

Indicates how the GuardDuty security agent is managed for this resource.

  • AUTO_MANAGED indicates that GuardDuty deploys and manages updates for this resource.

  • MANUAL indicates that you are responsible to deploy, update, and manage the GuardDuty security agent updates for this resource.

  • DISABLED indicates that the deployment of the GuardDuty security agent is disabled for this resource.

" + "FargateDetails$ManagementType": "

Indicates how the GuardDuty security agent is managed for this resource.

  • AUTO_MANAGED indicates that GuardDuty deploys and manages updates for this resource.

  • DISABLED indicates that the deployment of the GuardDuty security agent is disabled for this resource.

The MANUAL status doesn't apply to the Amazon Web Services Fargate (Amazon ECS only) woprkloads.

" } }, "MapEquals": { @@ -2108,7 +2121,8 @@ "MemberFeaturesConfiguration$Name": "

The name of the feature.

", "MemberFeaturesConfigurationResult$Name": "

Indicates the name of the feature that is enabled for the detector.

", "OrganizationFeatureConfiguration$Name": "

The name of the feature that will be configured for the organization.

", - "OrganizationFeatureConfigurationResult$Name": "

The name of the feature that is configured for the member accounts within the organization.

" + "OrganizationFeatureConfigurationResult$Name": "

The name of the feature that is configured for the member accounts within the organization.

", + "OrganizationFeatureStatistics$Name": "

Name of the feature.

" } }, "OrgFeatureAdditionalConfiguration": { @@ -2117,7 +2131,8 @@ "MemberAdditionalConfiguration$Name": "

Name of the additional configuration.

", "MemberAdditionalConfigurationResult$Name": "

Indicates the name of the additional configuration that is set for the member account.

", "OrganizationAdditionalConfiguration$Name": "

The name of the additional configuration that will be configured for the organization.

", - "OrganizationAdditionalConfigurationResult$Name": "

The name of the additional configuration that is configured for the member accounts within the organization.

" + "OrganizationAdditionalConfigurationResult$Name": "

The name of the additional configuration that is configured for the member accounts within the organization.

", + "OrganizationFeatureStatisticsAdditionalConfiguration$Name": "

Name of the additional configuration within a feature.

" } }, "OrgFeatureStatus": { @@ -2171,6 +2186,12 @@ "DescribeOrganizationConfigurationResponse$DataSources": "

Describes which data sources are enabled automatically for member accounts.

" } }, + "OrganizationDetails": { + "base": "

Information about GuardDuty coverage statistics for members in your Amazon Web Services organization.

", + "refs": { + "GetOrganizationStatisticsResponse$OrganizationDetails": "

Information about the statistics report for your organization.

" + } + }, "OrganizationEbsVolumes": { "base": "

Organization-wide EBS volumes scan configuration.

", "refs": { @@ -2195,6 +2216,30 @@ "OrganizationFeaturesConfigurationsResults$member": null } }, + "OrganizationFeatureStatistics": { + "base": "

Information about the number of accounts that have enabled a specific feature.

", + "refs": { + "OrganizationFeatureStatisticsResults$member": null + } + }, + "OrganizationFeatureStatisticsAdditionalConfiguration": { + "base": "

Information about the coverage statistic for the additional configuration of the feature.

", + "refs": { + "OrganizationFeatureStatisticsAdditionalConfigurations$member": null + } + }, + "OrganizationFeatureStatisticsAdditionalConfigurations": { + "base": null, + "refs": { + "OrganizationFeatureStatistics$AdditionalConfiguration": "

Name of the additional configuration.

" + } + }, + "OrganizationFeatureStatisticsResults": { + "base": null, + "refs": { + "OrganizationStatistics$CountByFeature": "

Retrieves the coverage statistics for each feature.

" + } + }, "OrganizationFeaturesConfigurations": { "base": null, "refs": { @@ -2267,6 +2312,12 @@ "OrganizationMalwareProtectionConfigurationResult$ScanEc2InstanceWithFindings": "

Describes the configuration for scanning EC2 instances with findings for an organization.

" } }, + "OrganizationStatistics": { + "base": "

Information about the coverage statistics of the features for the entire Amazon Web Services organization.

When you create a new Amazon Web Services organization, it might take up to 24 hours to generate the statistics summary for this organization.

", + "refs": { + "OrganizationDetails$OrganizationStatistics": "

Information about the GuardDuty coverage statistics for members in your Amazon Web Services organization.

" + } + }, "Owner": { "base": "

Contains information on the owner of the bucket.

", "refs": { @@ -3119,6 +3170,7 @@ "LineageObject$StartTime": "

The time when the process started. This is in UTC format.

", "MemberAdditionalConfigurationResult$UpdatedAt": "

The timestamp at which the additional configuration was set for the member account. This is in UTC format.

", "MemberFeaturesConfigurationResult$UpdatedAt": "

The timestamp at which the feature object was updated.

", + "OrganizationDetails$UpdatedAt": "

The timestamp at which the organization statistics was last updated. This is in UTC format.

", "ProcessDetails$StartTime": "

The time when the process started. This is in UTC format.

", "RuntimeContext$ModifiedAt": "

The timestamp at which the process modified the current process. The timestamp is in UTC date string format.

", "S3BucketDetail$CreatedAt": "

The date and time the bucket was created at.

", @@ -3132,7 +3184,8 @@ "UsageAccountResult$Total": "

Represents the total of usage for the Account ID.

", "UsageDataSourceResult$Total": "

Represents the total of usage for the specified data source.

", "UsageFeatureResult$Total": null, - "UsageResourceResult$Total": "

Represents the sum total of usage for the specified resource type.

" + "UsageResourceResult$Total": "

Represents the sum total of usage for the specified resource type.

", + "UsageTopAccountResult$Total": null } }, "TriggerDetails": { @@ -3314,7 +3367,8 @@ "base": null, "refs": { "UsageFeatureList$member": null, - "UsageFeatureResult$Feature": "

The feature that generated the usage cost.

" + "UsageFeatureResult$Feature": "

The feature that generated the usage cost.

", + "UsageTopAccountsResult$Feature": "

Features by which you can generate the usage statistics.

RDS_LOGIN_EVENTS is currently not supported with topAccountsByFeature.

" } }, "UsageFeatureList": { @@ -3360,6 +3414,30 @@ "GetUsageStatisticsResponse$UsageStatistics": "

The usage statistics object. If a UsageStatisticType was provided, the objects representing other types will be null.

" } }, + "UsageTopAccountResult": { + "base": "

Contains information on the total of usage based on the topmost 50 account IDs.

", + "refs": { + "UsageTopAccountsByFeatureList$member": null + } + }, + "UsageTopAccountsByFeatureList": { + "base": null, + "refs": { + "UsageTopAccountsResult$Accounts": "

The accounts that contributed to the total usage cost.

" + } + }, + "UsageTopAccountsResult": { + "base": "

Information about the usage statistics, calculated by top accounts by feature.

", + "refs": { + "UsageTopAccountsResultList$member": null + } + }, + "UsageTopAccountsResultList": { + "base": null, + "refs": { + "UsageStatistics$TopAccountsByFeature": "

Lists the top 50 accounts by feature that have generated the most GuardDuty usage, in the order from most to least expensive.

Currently, this doesn't support RDS_LOGIN_EVENTS.

" + } + }, "Volume": { "base": "

Volume used by the Kubernetes workload.

", "refs": { diff --git a/apis/managedblockchain-query/2023-05-04/api-2.json b/apis/managedblockchain-query/2023-05-04/api-2.json index 420aa4a84cf..109a3e5b661 100644 --- a/apis/managedblockchain-query/2023-05-04/api-2.json +++ b/apis/managedblockchain-query/2023-05-04/api-2.json @@ -271,6 +271,10 @@ "type":"string", "pattern":"[-A-Za-z0-9]{13,74}" }, + "ConfirmationStatus":{ + "type":"string", + "enum":["FINAL"] + }, "ContractFilter":{ "type":"structure", "required":[ @@ -314,6 +318,13 @@ "type":"string", "min":1 }, + "ExecutionStatus":{ + "type":"string", + "enum":[ + "FAILED", + "SUCCEEDED" + ] + }, "GetAssetContractInput":{ "type":"structure", "required":["contractIdentifier"], @@ -547,9 +558,9 @@ "type":"string", "enum":[ "ETHEREUM_MAINNET", + "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", - "BITCOIN_TESTNET", - "ETHEREUM_SEPOLIA_TESTNET" + "BITCOIN_TESTNET" ] }, "QueryTokenId":{ @@ -717,7 +728,6 @@ "transactionTimestamp", "transactionIndex", "numberOfTransactions", - "status", "to" ], "members":{ @@ -728,7 +738,11 @@ "transactionTimestamp":{"shape":"Timestamp"}, "transactionIndex":{"shape":"Long"}, "numberOfTransactions":{"shape":"Long"}, - "status":{"shape":"QueryTransactionStatus"}, + "status":{ + "shape":"QueryTransactionStatus", + "deprecated":true, + "deprecatedMessage":"The status field in the GetTransaction response is deprecated and is replaced with the confirmationStatus and executionStatus fields." + }, "to":{"shape":"ChainAddress"}, "from":{"shape":"ChainAddress"}, "contractAddress":{"shape":"ChainAddress"}, @@ -739,7 +753,9 @@ "signatureR":{"shape":"String"}, "signatureS":{"shape":"String"}, "transactionFee":{"shape":"String"}, - "transactionId":{"shape":"String"} + "transactionId":{"shape":"String"}, + "confirmationStatus":{"shape":"ConfirmationStatus"}, + "executionStatus":{"shape":"ExecutionStatus"} } }, "TransactionEvent":{ diff --git a/apis/managedblockchain-query/2023-05-04/docs-2.json b/apis/managedblockchain-query/2023-05-04/docs-2.json index 938d8be74f0..0eda840e2c4 100644 --- a/apis/managedblockchain-query/2023-05-04/docs-2.json +++ b/apis/managedblockchain-query/2023-05-04/docs-2.json @@ -111,6 +111,12 @@ "TransactionEvent$contractAddress": "

The blockchain address. for the contract

" } }, + "ConfirmationStatus": { + "base": null, + "refs": { + "Transaction$confirmationStatus": "

Specifies whether the transaction has reached Finality.

" + } + }, "ContractFilter": { "base": "

The contract or wallet address by which to filter the request.

", "refs": { @@ -148,6 +154,12 @@ "ValidationException$message": "

The container for the exception message.

" } }, + "ExecutionStatus": { + "base": null, + "refs": { + "Transaction$executionStatus": "

Identifies whether the transaction has succeeded or failed.

" + } + }, "GetAssetContractInput": { "base": null, "refs": { @@ -362,7 +374,7 @@ "QueryTransactionStatus": { "base": null, "refs": { - "Transaction$status": "

The status of the transaction.

" + "Transaction$status": "

The status of the transaction.

This property is deprecated. You must use the confirmationStatus and the executionStatus properties to determine if the status of the transaction is FINAL or FAILED.

  • Transactions with a status of FINAL will now have the confirmationStatus set to FINAL and the executionStatus set to SUCCEEDED.

  • Transactions with a status of FAILED will now have the confirmationStatus set to FINAL and the executionStatus set to FAILED.

" } }, "QuotaCode": { diff --git a/apis/mediatailor/2018-04-23/api-2.json b/apis/mediatailor/2018-04-23/api-2.json index b4ca164f21d..1d3334409fa 100644 --- a/apis/mediatailor/2018-04-23/api-2.json +++ b/apis/mediatailor/2018-04-23/api-2.json @@ -720,7 +720,8 @@ "shape":"__mapOf__string", "locationName":"tags" }, - "Tier":{"shape":"Tier"} + "Tier":{"shape":"Tier"}, + "TimeShiftConfiguration":{"shape":"TimeShiftConfiguration"} } }, "CreateChannelResponse":{ @@ -738,7 +739,8 @@ "shape":"__mapOf__string", "locationName":"tags" }, - "Tier":{"shape":"__string"} + "Tier":{"shape":"__string"}, + "TimeShiftConfiguration":{"shape":"TimeShiftConfiguration"} } }, "CreateLiveSourceRequest":{ @@ -1155,7 +1157,8 @@ "shape":"__mapOf__string", "locationName":"tags" }, - "Tier":{"shape":"__string"} + "Tier":{"shape":"__string"}, + "TimeShiftConfiguration":{"shape":"TimeShiftConfiguration"} } }, "DescribeLiveSourceRequest":{ @@ -2105,6 +2108,13 @@ "STANDARD" ] }, + "TimeShiftConfiguration":{ + "type":"structure", + "required":["MaxTimeDelaySeconds"], + "members":{ + "MaxTimeDelaySeconds":{"shape":"__integer"} + } + }, "TimeSignalMessage":{ "type":"structure", "members":{ @@ -2164,7 +2174,8 @@ "locationName":"ChannelName" }, "FillerSlate":{"shape":"SlateSource"}, - "Outputs":{"shape":"RequestOutputs"} + "Outputs":{"shape":"RequestOutputs"}, + "TimeShiftConfiguration":{"shape":"TimeShiftConfiguration"} } }, "UpdateChannelResponse":{ @@ -2182,7 +2193,8 @@ "shape":"__mapOf__string", "locationName":"tags" }, - "Tier":{"shape":"__string"} + "Tier":{"shape":"__string"}, + "TimeShiftConfiguration":{"shape":"TimeShiftConfiguration"} } }, "UpdateLiveSourceRequest":{ diff --git a/apis/mediatailor/2018-04-23/docs-2.json b/apis/mediatailor/2018-04-23/docs-2.json index 2b915d37f35..b4f6457d56f 100644 --- a/apis/mediatailor/2018-04-23/docs-2.json +++ b/apis/mediatailor/2018-04-23/docs-2.json @@ -921,6 +921,16 @@ "CreateChannelRequest$Tier": "

The tier of the channel.

" } }, + "TimeShiftConfiguration": { + "base": "

The configuration for time-shifted viewing.

", + "refs": { + "CreateChannelRequest$TimeShiftConfiguration": "

The time-shifted viewing configuration you want to associate to the channel.

", + "CreateChannelResponse$TimeShiftConfiguration": "

The time-shifted viewing configuration assigned to the channel.

", + "DescribeChannelResponse$TimeShiftConfiguration": "

The time-shifted viewing configuration for the channel.

", + "UpdateChannelRequest$TimeShiftConfiguration": "

The time-shifted viewing configuration you want to associate to the channel.

", + "UpdateChannelResponse$TimeShiftConfiguration": "

The time-shifted viewing configuration for the channel.

" + } + }, "TimeSignalMessage": { "base": "

The SCTE-35 time_signal message can be sent with one or more segmentation_descriptor messages. A time_signal message can be sent only if a single segmentation_descriptor message is sent.

The time_signal message contains only the splice_time field which is constructed using a given presentation timestamp. When sending a time_signal message, the splice_command_type field in the splice_info_section message is set to 6 (0x06).

See the time_signal() table of the 2022 SCTE-35 specification for more information.

", "refs": { @@ -1033,7 +1043,8 @@ "SpliceInsertMessage$AvailNum": "

This is written to splice_insert.avail_num, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0. Values must be between 0 and 256, inclusive.

", "SpliceInsertMessage$AvailsExpected": "

This is written to splice_insert.avails_expected, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0. Values must be between 0 and 256, inclusive.

", "SpliceInsertMessage$SpliceEventId": "

This is written to splice_insert.splice_event_id, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 1.

", - "SpliceInsertMessage$UniqueProgramId": "

This is written to splice_insert.unique_program_id, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0. Values must be between 0 and 256, inclusive.

" + "SpliceInsertMessage$UniqueProgramId": "

This is written to splice_insert.unique_program_id, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0. Values must be between 0 and 256, inclusive.

", + "TimeShiftConfiguration$MaxTimeDelaySeconds": "

The maximum time delay for time-shifted viewing. The minimum allowed maximum time delay is 0 seconds, and the maximum allowed maximum time delay is 21600 seconds (6 hours).

" } }, "__integerMin1": { diff --git a/apis/route53/2013-04-01/api-2.json b/apis/route53/2013-04-01/api-2.json index a12abd61698..a72a8088fb2 100644 --- a/apis/route53/2013-04-01/api-2.json +++ b/apis/route53/2013-04-01/api-2.json @@ -1552,7 +1552,8 @@ "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", - "il-central-1" + "il-central-1", + "ca-west-1" ], "max":64, "min":1 @@ -4160,7 +4161,8 @@ "eu-south-1", "eu-south-2", "ap-southeast-4", - "il-central-1" + "il-central-1", + "ca-west-1" ], "max":64, "min":1 @@ -4780,7 +4782,8 @@ "eu-south-1", "eu-south-2", "ap-southeast-4", - "il-central-1" + "il-central-1", + "ca-west-1" ], "max":64, "min":1 diff --git a/apis/route53/2013-04-01/docs-2.json b/apis/route53/2013-04-01/docs-2.json index 89eefa79536..87df689ded2 100644 --- a/apis/route53/2013-04-01/docs-2.json +++ b/apis/route53/2013-04-01/docs-2.json @@ -532,7 +532,7 @@ "ListTrafficPolicyInstancesByPolicyResponse$TrafficPolicyInstanceNameMarker": "

If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

", "ListTrafficPolicyInstancesRequest$TrafficPolicyInstanceNameMarker": "

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "ListTrafficPolicyInstancesResponse$TrafficPolicyInstanceNameMarker": "

If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance that Route 53 will return if you submit another ListTrafficPolicyInstances request.

", - "ResourceRecordSet$Name": "

For ChangeResourceRecordSets requests, the name of the record that you want to create, update, or delete. For ListResourceRecordSets responses, the name of a record in the specified hosted zone.

ChangeResourceRecordSets Only

Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, *.example.com. Note the following:

  • The * must replace the entire label. For example, you can't specify *prod.example.com or prod*.example.com.

  • The * can't replace any of the middle labels, for example, marketing.*.example.com.

  • If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.

    You can't use the * wildcard for resource records sets that have a type of NS.

You can use the * wildcard as the leftmost label in a domain name, for example, *.example.com. You can't use an * for one of the middle labels, for example, marketing.*.example.com. In addition, the * must replace the entire label; for example, you can't specify prod*.example.com.

", + "ResourceRecordSet$Name": "

For ChangeResourceRecordSets requests, the name of the record that you want to create, update, or delete. For ListResourceRecordSets responses, the name of a record in the specified hosted zone.

ChangeResourceRecordSets Only

Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, *.example.com. Note the following:

  • The * must replace the entire label. For example, you can't specify *prod.example.com or prod*.example.com.

  • The * can't replace any of the middle labels, for example, marketing.*.example.com.

  • If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.

    You can't use the * wildcard for resource records sets that have a type of NS.

", "TestDNSAnswerRequest$RecordName": "

The name of the resource record set that you want Amazon Route 53 to simulate a query for.

", "TestDNSAnswerResponse$RecordName": "

The name of the resource record set that you submitted a request for.

", "TrafficPolicyInstance$Name": "

The DNS name, such as www.example.com, for which Amazon Route 53 responds to queries by using the resource record sets that are associated with this traffic policy instance.

" diff --git a/apis/route53/2013-04-01/endpoint-tests-1.json b/apis/route53/2013-04-01/endpoint-tests-1.json index b14b05eb81e..42145ddb1cb 100644 --- a/apis/route53/2013-04-01/endpoint-tests-1.json +++ b/apis/route53/2013-04-01/endpoint-tests-1.json @@ -469,6 +469,50 @@ "UseDualStack": false } }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "route53", + "signingRegion": "eu-isoe-west-1" + } + ] + }, + "url": "https://route53.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "route53", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://route53.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, { "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { @@ -525,17 +569,6 @@ "expect": { "error": "Invalid Configuration: Missing Region" } - }, - { - "documentation": "Partition doesn't support DualStack", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true - } } ], "version": "1.0" diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 0e06c9f599c..33144a80e4f 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.871.0 (2023-12-20) +------------------ + +* Feature - Updated the partitions source data the determines the AWS service regions and endpoints. + 1.870.0 (2023-12-19) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index e7074fc8e2a..3b3fa03b8c5 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.870.0 +1.871.0 diff --git a/gems/aws-partitions/partitions-metadata.json b/gems/aws-partitions/partitions-metadata.json index ab107ca5511..f376f6908aa 100644 --- a/gems/aws-partitions/partitions-metadata.json +++ b/gems/aws-partitions/partitions-metadata.json @@ -50,6 +50,9 @@ "ca-central-1" : { "description" : "Canada (Central)" }, + "ca-west-1" : { + "description" : "Canada West (Calgary)" + }, "eu-central-1" : { "description" : "Europe (Frankfurt)" }, diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json index 87f0bce447c..ab02f3bc6b3 100644 --- a/gems/aws-partitions/partitions.json +++ b/gems/aws-partitions/partitions.json @@ -59,6 +59,9 @@ "ca-central-1" : { "description" : "Canada (Central)" }, + "ca-west-1" : { + "description" : "Canada West (Calgary)" + }, "eu-central-1" : { "description" : "Europe (Frankfurt)" }, @@ -133,6 +136,7 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -244,6 +248,19 @@ "deprecated" : true, "hostname" : "acm-fips.ca-central-1.amazonaws.com" }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "acm-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-west-1-fips" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "acm-fips.ca-west-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -676,6 +693,12 @@ }, "hostname" : "api.ecr.ca-central-1.amazonaws.com" }, + "ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "hostname" : "api.ecr.ca-west-1.amazonaws.com" + }, "dkr-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -1290,6 +1313,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "apigateway-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -1305,6 +1334,13 @@ "deprecated" : true, "hostname" : "apigateway-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "apigateway-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -1391,6 +1427,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -1423,6 +1460,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -1526,6 +1564,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -2231,6 +2270,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "autoscaling-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -2246,6 +2291,13 @@ "deprecated" : true, "hostname" : "autoscaling-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "autoscaling-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -2441,6 +2493,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -2796,6 +2849,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -2811,6 +2870,13 @@ "deprecated" : true, "hostname" : "cloudcontrolapi-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "cloudcontrolapi-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -2896,6 +2962,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -3043,6 +3110,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -3351,6 +3419,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -4034,6 +4103,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -4679,6 +4749,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "datasync-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -4694,6 +4770,13 @@ "deprecated" : true, "hostname" : "datasync-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "datasync-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -4802,6 +4885,9 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "hostname" : "datazone.ca-west-1.api.aws" + }, "eu-central-1" : { "hostname" : "datazone.eu-central-1.api.aws" }, @@ -4983,6 +5069,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -5074,6 +5161,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -5106,6 +5194,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "dms" : { "credentialScope" : { "region" : "us-west-1" @@ -5328,6 +5417,7 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -5430,6 +5520,19 @@ "deprecated" : true, "hostname" : "dynamodb-fips.ca-central-1.amazonaws.com" }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "dynamodb-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-west-1-fips" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "dynamodb-fips.ca-west-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -5522,6 +5625,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "ebs-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -5537,6 +5646,13 @@ "deprecated" : true, "hostname" : "ebs-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "ebs-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -5728,6 +5844,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -5825,6 +5942,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -5937,6 +6055,9 @@ "ca-central-1" : { "hostname" : "eks-auth.ca-central-1.api.aws" }, + "ca-west-1" : { + "hostname" : "eks-auth.ca-west-1.api.aws" + }, "eu-central-1" : { "hostname" : "eks-auth.eu-central-1.api.aws" }, @@ -6001,6 +6122,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -6534,6 +6656,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -6623,6 +6746,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "elasticmapreduce-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { "sslCommonName" : "{service}.{region}.{dnsSuffix}" }, @@ -6640,6 +6769,13 @@ "deprecated" : true, "hostname" : "elasticmapreduce-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "elasticmapreduce-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -7058,6 +7194,12 @@ "tags" : [ "dualstack" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "aos.ca-west-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, "eu-central-1" : { "variants" : [ { "hostname" : "aos.eu-central-1.api.aws", @@ -7217,6 +7359,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -7351,6 +7494,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -8848,6 +8992,9 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "hostname" : "internetmonitor.ca-west-1.api.aws" + }, "eu-central-1" : { "hostname" : "internetmonitor.eu-central-1.api.aws" }, @@ -9804,6 +9951,9 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "hostname" : "kendra-ranking.ca-west-1.api.aws" + }, "eu-central-2" : { "hostname" : "kendra-ranking.eu-central-2.api.aws" }, @@ -9874,6 +10024,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -10157,6 +10308,19 @@ "deprecated" : true, "hostname" : "kms-fips.ca-central-1.amazonaws.com" }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "kms-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-west-1-fips" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.ca-west-1.amazonaws.com" + }, "eu-central-1" : { "variants" : [ { "hostname" : "kms-fips.eu-central-1.amazonaws.com", @@ -10521,6 +10685,12 @@ "tags" : [ "dualstack" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "lambda.ca-west-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, "eu-central-1" : { "variants" : [ { "hostname" : "lambda.eu-central-1.api.aws", @@ -10753,6 +10923,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -10931,6 +11102,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -11802,6 +11974,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -12213,6 +12386,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -12674,6 +12848,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -13149,6 +13324,9 @@ "ca-central-1" : { "hostname" : "qbusiness.ca-central-1.api.aws" }, + "ca-west-1" : { + "hostname" : "qbusiness.ca-west-1.api.aws" + }, "eu-central-1" : { "hostname" : "qbusiness.eu-central-1.api.aws" }, @@ -13300,6 +13478,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "ram-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -13315,6 +13499,13 @@ "deprecated" : true, "hostname" : "ram-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "ram-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -13392,6 +13583,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "rbin-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -13407,6 +13604,13 @@ "deprecated" : true, "hostname" : "rbin-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "rbin-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -13728,6 +13932,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "redshift-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -13743,6 +13953,13 @@ "deprecated" : true, "hostname" : "redshift-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "redshift-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -14114,6 +14331,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -14320,6 +14538,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -14604,6 +14823,18 @@ "tags" : [ "dualstack" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "s3-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-fips.dualstack.ca-west-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3.dualstack.ca-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] + }, "eu-central-1" : { "variants" : [ { "hostname" : "s3.dualstack.eu-central-1.amazonaws.com", @@ -14661,6 +14892,13 @@ "deprecated" : true, "hostname" : "s3-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "s3-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -15372,6 +15610,18 @@ "ca-central-1-fips" : { "deprecated" : true }, + "ca-west-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { + "tags" : [ "fips" ] + } ] + }, + "ca-west-1-fips" : { + "deprecated" : true + }, "eu-central-1" : { "variants" : [ { "tags" : [ "dualstack" ] @@ -15496,6 +15746,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -15743,6 +15994,7 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -16070,6 +16322,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -16696,6 +16949,12 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "sns-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -16704,6 +16963,13 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "sns-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -16780,6 +17046,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -16866,6 +17133,12 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "ssm-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -16881,6 +17154,13 @@ "deprecated" : true, "hostname" : "ssm-fips.ca-central-1.amazonaws.com" }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "ssm-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -17215,6 +17495,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -17393,6 +17674,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -17438,6 +17720,7 @@ "hostname" : "sts.amazonaws.com" }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -17537,6 +17820,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -17617,6 +17901,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -17697,6 +17982,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -19454,6 +19740,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, diff --git a/gems/aws-sdk-appstream/CHANGELOG.md b/gems/aws-sdk-appstream/CHANGELOG.md index 4bfe54fbaa4..63524776ebe 100644 --- a/gems/aws-sdk-appstream/CHANGELOG.md +++ b/gems/aws-sdk-appstream/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.84.0 (2023-12-20) +------------------ + +* Feature - This release introduces configurable clipboard, allowing admins to specify the maximum length of text that can be copied by the users from their device to the remote session and vice-versa. + 1.83.0 (2023-12-14) ------------------ diff --git a/gems/aws-sdk-appstream/VERSION b/gems/aws-sdk-appstream/VERSION index 6b4de0a42b0..bd0f9e6c28f 100644 --- a/gems/aws-sdk-appstream/VERSION +++ b/gems/aws-sdk-appstream/VERSION @@ -1 +1 @@ -1.83.0 +1.84.0 diff --git a/gems/aws-sdk-appstream/lib/aws-sdk-appstream.rb b/gems/aws-sdk-appstream/lib/aws-sdk-appstream.rb index 36596176220..62c8d98e2fb 100644 --- a/gems/aws-sdk-appstream/lib/aws-sdk-appstream.rb +++ b/gems/aws-sdk-appstream/lib/aws-sdk-appstream.rb @@ -53,6 +53,6 @@ # @!group service module Aws::AppStream - GEM_VERSION = '1.83.0' + GEM_VERSION = '1.84.0' end diff --git a/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb b/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb index bc441ffa7c0..7bce7f42087 100644 --- a/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb +++ b/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb @@ -1869,6 +1869,7 @@ def create_image_builder_streaming_url(params = {}, options = {}) # { # action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN # permission: "ENABLED", # required, accepts ENABLED, DISABLED + # maximum_length: 1, # }, # ], # application_settings: { @@ -1910,6 +1911,7 @@ def create_image_builder_streaming_url(params = {}, options = {}) # resp.stack.user_settings #=> Array # resp.stack.user_settings[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN" # resp.stack.user_settings[0].permission #=> String, one of "ENABLED", "DISABLED" + # resp.stack.user_settings[0].maximum_length #=> Integer # resp.stack.application_settings.enabled #=> Boolean # resp.stack.application_settings.settings_group #=> String # resp.stack.application_settings.s3_bucket_name #=> String @@ -3355,6 +3357,7 @@ def describe_sessions(params = {}, options = {}) # resp.stacks[0].user_settings #=> Array # resp.stacks[0].user_settings[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN" # resp.stacks[0].user_settings[0].permission #=> String, one of "ENABLED", "DISABLED" + # resp.stacks[0].user_settings[0].maximum_length #=> Integer # resp.stacks[0].application_settings.enabled #=> Boolean # resp.stacks[0].application_settings.settings_group #=> String # resp.stacks[0].application_settings.s3_bucket_name #=> String @@ -5023,6 +5026,7 @@ def update_image_permissions(params = {}, options = {}) # { # action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN # permission: "ENABLED", # required, accepts ENABLED, DISABLED + # maximum_length: 1, # }, # ], # application_settings: { @@ -5061,6 +5065,7 @@ def update_image_permissions(params = {}, options = {}) # resp.stack.user_settings #=> Array # resp.stack.user_settings[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN" # resp.stack.user_settings[0].permission #=> String, one of "ENABLED", "DISABLED" + # resp.stack.user_settings[0].maximum_length #=> Integer # resp.stack.application_settings.enabled #=> Boolean # resp.stack.application_settings.settings_group #=> String # resp.stack.application_settings.s3_bucket_name #=> String @@ -5093,7 +5098,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-appstream' - context[:gem_version] = '1.83.0' + context[:gem_version] = '1.84.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client_api.rb b/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client_api.rb index 21a973e7d7c..d0808437309 100644 --- a/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client_api.rb +++ b/gems/aws-sdk-appstream/lib/aws-sdk-appstream/client_api.rb @@ -1422,6 +1422,7 @@ module ClientApi UserSetting.add_member(:action, Shapes::ShapeRef.new(shape: Action, required: true, location_name: "Action")) UserSetting.add_member(:permission, Shapes::ShapeRef.new(shape: Permission, required: true, location_name: "Permission")) + UserSetting.add_member(:maximum_length, Shapes::ShapeRef.new(shape: Integer, location_name: "MaximumLength")) UserSetting.struct_class = Types::UserSetting UserSettingList.member = Shapes::ShapeRef.new(shape: UserSetting) @@ -1691,6 +1692,7 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: InvalidRoleException) o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException) + o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException) end) api.add_operation(:create_streaming_url, Seahorse::Model::Operation.new.tap do |o| diff --git a/gems/aws-sdk-appstream/lib/aws-sdk-appstream/types.rb b/gems/aws-sdk-appstream/lib/aws-sdk-appstream/types.rb index acf23ccb99e..7dceff3d647 100644 --- a/gems/aws-sdk-appstream/lib/aws-sdk-appstream/types.rb +++ b/gems/aws-sdk-appstream/lib/aws-sdk-appstream/types.rb @@ -5618,11 +5618,31 @@ class User < Struct.new( # Indicates whether the action is enabled or disabled. # @return [String] # + # @!attribute [rw] maximum_length + # Specifies the number of characters that can be copied by end users + # from the local device to the remote session, and to the local device + # from the remote session. + # + # This can be specified only for the + # `CLIPBOARD_COPY_FROM_LOCAL_DEVICE` and + # `CLIPBOARD_COPY_TO_LOCAL_DEVICE` actions. + # + # This defaults to 20,971,520 (20 MB) when unspecified and the + # permission is `ENABLED`. This can't be specified when the + # permission is `DISABLED`. + # + # This can only be specified for AlwaysOn and OnDemand fleets. The + # attribute is not supported on Elastic fleets. + # + # The value can be between 1 and 20,971,520 (20 MB). + # @return [Integer] + # # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UserSetting AWS API Documentation # class UserSetting < Struct.new( :action, - :permission) + :permission, + :maximum_length) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-core/CHANGELOG.md b/gems/aws-sdk-core/CHANGELOG.md index cb4725de129..c46a4bb0788 100644 --- a/gems/aws-sdk-core/CHANGELOG.md +++ b/gems/aws-sdk-core/CHANGELOG.md @@ -1,6 +1,9 @@ Unreleased Changes ------------------ +3.190.1 (2023-12-20) +------------------ + * Issue - Add mutex around stub api_requests. 3.190.0 (2023-11-29) diff --git a/gems/aws-sdk-core/VERSION b/gems/aws-sdk-core/VERSION index 5d09449cf68..b3712c885be 100644 --- a/gems/aws-sdk-core/VERSION +++ b/gems/aws-sdk-core/VERSION @@ -1 +1 @@ -3.190.0 +3.190.1 diff --git a/gems/aws-sdk-core/lib/aws-sdk-sso.rb b/gems/aws-sdk-core/lib/aws-sdk-sso.rb index c27bba8d9fd..9398e752bdf 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sso.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sso.rb @@ -54,6 +54,6 @@ # @!group service module Aws::SSO - GEM_VERSION = '3.190.0' + GEM_VERSION = '3.190.1' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb b/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb index 48ce4af02b5..ef14f9bd2f5 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb @@ -605,7 +605,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.190.0' + context[:gem_version] = '3.190.1' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb b/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb index 6fdb052cca2..a0f944d278f 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb @@ -54,6 +54,6 @@ # @!group service module Aws::SSOOIDC - GEM_VERSION = '3.190.0' + GEM_VERSION = '3.190.1' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb b/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb index 886adc070a0..4432dac4641 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb @@ -910,7 +910,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.190.0' + context[:gem_version] = '3.190.1' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sts.rb b/gems/aws-sdk-core/lib/aws-sdk-sts.rb index df64c1a25c0..a68846f55ab 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sts.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sts.rb @@ -54,6 +54,6 @@ # @!group service module Aws::STS - GEM_VERSION = '3.190.0' + GEM_VERSION = '3.190.1' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb b/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb index 80a006bfc57..fa7a3b1e758 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb @@ -2352,7 +2352,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.190.0' + context[:gem_version] = '3.190.1' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-eks/CHANGELOG.md b/gems/aws-sdk-eks/CHANGELOG.md index d8288162c83..de354218fe8 100644 --- a/gems/aws-sdk-eks/CHANGELOG.md +++ b/gems/aws-sdk-eks/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.97.0 (2023-12-20) +------------------ + +* Feature - Add support for cluster insights, new EKS capability that surfaces potentially upgrade impacting issues. + 1.96.0 (2023-12-18) ------------------ diff --git a/gems/aws-sdk-eks/VERSION b/gems/aws-sdk-eks/VERSION index 9141007a558..acbb747ac54 100644 --- a/gems/aws-sdk-eks/VERSION +++ b/gems/aws-sdk-eks/VERSION @@ -1 +1 @@ -1.96.0 +1.97.0 diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks.rb index c171a9ed86c..f2aa0ef386d 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks.rb @@ -53,6 +53,6 @@ # @!group service module Aws::EKS - GEM_VERSION = '1.96.0' + GEM_VERSION = '1.97.0' end diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb index d2e12bf0713..eaacc4c4834 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb @@ -629,12 +629,16 @@ def associate_identity_provider_config(params = {}, options = {}) # than one access entry. This value can't be changed after access entry # creation. # - # [IAM best practices][1] recommend using IAM roles with temporary - # credentials, rather than IAM users with long-term credentials. - # - # - # - # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp + # The valid principals differ depending on the type of the access entry + # in the `type` field. The only valid ARN is IAM roles for the types of + # access entries for nodes: ` . You can use every IAM principal type for + # STANDARD access entries. You can't use the STS session principal type + # with access entries because this is a temporary principal for each + # session and not a permanent identity that can be assigned + # permissions.

IAM best practices recommend using IAM roles with + # temporary credentials, rather than IAM users with long-term + # credentials. + # ` # # @option params [Array] :kubernetes_groups # The value for `name` that you've specified for `kind: Group` as a @@ -685,6 +689,9 @@ def associate_identity_provider_config(params = {}, options = {}) # [1]: https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html#creating-access-entries # # @option params [String] :type + # The type of the new access entry. Valid values are `Standard`, + # `FARGATE_LINUX`, `EC2_LINUX`, and `EC2_WINDOWS`. + # # If the `principalArn` is for an IAM role that's used for self-managed # Amazon EC2 nodes, specify `EC2_LINUX` or `EC2_WINDOWS`. Amazon EKS # grants the necessary permissions to the node for you. If the @@ -2835,6 +2842,63 @@ def describe_identity_provider_config(params = {}, options = {}) req.send_request(options) end + # Returns details about an insight that you specify using its ID. + # + # @option params [required, String] :cluster_name + # The name of the cluster to describe the insight for. + # + # @option params [required, String] :id + # The identity of the insight to describe. + # + # @return [Types::DescribeInsightResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::DescribeInsightResponse#insight #insight} => Types::Insight + # + # @example Request syntax with placeholder values + # + # resp = client.describe_insight({ + # cluster_name: "String", # required + # id: "String", # required + # }) + # + # @example Response structure + # + # resp.insight.id #=> String + # resp.insight.name #=> String + # resp.insight.category #=> String, one of "UPGRADE_READINESS" + # resp.insight.kubernetes_version #=> String + # resp.insight.last_refresh_time #=> Time + # resp.insight.last_transition_time #=> Time + # resp.insight.description #=> String + # resp.insight.insight_status.status #=> String, one of "PASSING", "WARNING", "ERROR", "UNKNOWN" + # resp.insight.insight_status.reason #=> String + # resp.insight.recommendation #=> String + # resp.insight.additional_info #=> Hash + # resp.insight.additional_info["String"] #=> String + # resp.insight.resources #=> Array + # resp.insight.resources[0].insight_status.status #=> String, one of "PASSING", "WARNING", "ERROR", "UNKNOWN" + # resp.insight.resources[0].insight_status.reason #=> String + # resp.insight.resources[0].kubernetes_resource_uri #=> String + # resp.insight.resources[0].arn #=> String + # resp.insight.category_specific_summary.deprecation_details #=> Array + # resp.insight.category_specific_summary.deprecation_details[0].usage #=> String + # resp.insight.category_specific_summary.deprecation_details[0].replaced_with #=> String + # resp.insight.category_specific_summary.deprecation_details[0].stop_serving_version #=> String + # resp.insight.category_specific_summary.deprecation_details[0].start_serving_replacement_version #=> String + # resp.insight.category_specific_summary.deprecation_details[0].client_stats #=> Array + # resp.insight.category_specific_summary.deprecation_details[0].client_stats[0].user_agent #=> String + # resp.insight.category_specific_summary.deprecation_details[0].client_stats[0].number_of_requests_last_30_days #=> Integer + # resp.insight.category_specific_summary.deprecation_details[0].client_stats[0].last_request_time #=> Time + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeInsight AWS API Documentation + # + # @overload describe_insight(params = {}) + # @param [Hash] params ({}) + def describe_insight(params = {}, options = {}) + req = build_request(:describe_insight, params) + req.send_request(options) + end + # Describes a managed node group. # # @option params [required, String] :cluster_name @@ -3623,6 +3687,78 @@ def list_identity_provider_configs(params = {}, options = {}) req.send_request(options) end + # Returns a list of all insights checked for against the specified + # cluster. You can filter which insights are returned by category, + # associated Kubernetes version, and status. + # + # @option params [required, String] :cluster_name + # The name of the Amazon EKS cluster associated with the insights. + # + # @option params [Types::InsightsFilter] :filter + # The criteria to filter your list of insights for your cluster. You can + # filter which insights are returned by category, associated Kubernetes + # version, and status. + # + # @option params [Integer] :max_results + # The maximum number of identity provider configurations returned by + # `ListInsights` in paginated output. When you use this parameter, + # `ListInsights` returns only `maxResults` results in a single page + # along with a `nextToken` response element. You can see the remaining + # results of the initial request by sending another `ListInsights` + # request with the returned `nextToken` value. This value can be between + # 1 and 100. If you don't use this parameter, `ListInsights` returns up + # to 100 results and a `nextToken` value, if applicable. + # + # @option params [String] :next_token + # The `nextToken` value returned from a previous paginated + # `ListInsights` request. When the results of a `ListInsights` request + # exceed `maxResults`, you can use this value to retrieve the next page + # of results. This value is `null` when there are no more results to + # return. + # + # @return [Types::ListInsightsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListInsightsResponse#insights #insights} => Array<Types::InsightSummary> + # * {Types::ListInsightsResponse#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_insights({ + # cluster_name: "String", # required + # filter: { + # categories: ["UPGRADE_READINESS"], # accepts UPGRADE_READINESS + # kubernetes_versions: ["String"], + # statuses: ["PASSING"], # accepts PASSING, WARNING, ERROR, UNKNOWN + # }, + # max_results: 1, + # next_token: "String", + # }) + # + # @example Response structure + # + # resp.insights #=> Array + # resp.insights[0].id #=> String + # resp.insights[0].name #=> String + # resp.insights[0].category #=> String, one of "UPGRADE_READINESS" + # resp.insights[0].kubernetes_version #=> String + # resp.insights[0].last_refresh_time #=> Time + # resp.insights[0].last_transition_time #=> Time + # resp.insights[0].description #=> String + # resp.insights[0].insight_status.status #=> String, one of "PASSING", "WARNING", "ERROR", "UNKNOWN" + # resp.insights[0].insight_status.reason #=> String + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListInsights AWS API Documentation + # + # @overload list_insights(params = {}) + # @param [Hash] params ({}) + def list_insights(params = {}, options = {}) + req = build_request(:list_insights, params) + req.send_request(options) + end + # Lists the managed node groups associated with the specified cluster in # your Amazon Web Services account in the specified Amazon Web Services # Region. Self-managed node groups aren't listed. @@ -4819,7 +4955,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-eks' - context[:gem_version] = '1.96.0' + context[:gem_version] = '1.97.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb index be60029250e..07ebdf8b23e 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb @@ -21,6 +21,7 @@ module ClientApi AccessPolicy = Shapes::StructureShape.new(name: 'AccessPolicy') AccessScope = Shapes::StructureShape.new(name: 'AccessScope') AccessScopeType = Shapes::StringShape.new(name: 'AccessScopeType') + AdditionalInfoMap = Shapes::MapShape.new(name: 'AdditionalInfoMap') Addon = Shapes::StructureShape.new(name: 'Addon') AddonHealth = Shapes::StructureShape.new(name: 'AddonHealth') AddonInfo = Shapes::StructureShape.new(name: 'AddonInfo') @@ -48,8 +49,12 @@ module ClientApi BoxedInteger = Shapes::IntegerShape.new(name: 'BoxedInteger') Capacity = Shapes::IntegerShape.new(name: 'Capacity') CapacityTypes = Shapes::StringShape.new(name: 'CapacityTypes') + Category = Shapes::StringShape.new(name: 'Category') + CategoryList = Shapes::ListShape.new(name: 'CategoryList') Certificate = Shapes::StructureShape.new(name: 'Certificate') ClientException = Shapes::StructureShape.new(name: 'ClientException') + ClientStat = Shapes::StructureShape.new(name: 'ClientStat') + ClientStats = Shapes::ListShape.new(name: 'ClientStats') Cluster = Shapes::StructureShape.new(name: 'Cluster') ClusterHealth = Shapes::StructureShape.new(name: 'ClusterHealth') ClusterIssue = Shapes::StructureShape.new(name: 'ClusterIssue') @@ -93,6 +98,8 @@ module ClientApi DeleteNodegroupResponse = Shapes::StructureShape.new(name: 'DeleteNodegroupResponse') DeletePodIdentityAssociationRequest = Shapes::StructureShape.new(name: 'DeletePodIdentityAssociationRequest') DeletePodIdentityAssociationResponse = Shapes::StructureShape.new(name: 'DeletePodIdentityAssociationResponse') + DeprecationDetail = Shapes::StructureShape.new(name: 'DeprecationDetail') + DeprecationDetails = Shapes::ListShape.new(name: 'DeprecationDetails') DeregisterClusterRequest = Shapes::StructureShape.new(name: 'DeregisterClusterRequest') DeregisterClusterResponse = Shapes::StructureShape.new(name: 'DeregisterClusterResponse') DescribeAccessEntryRequest = Shapes::StructureShape.new(name: 'DescribeAccessEntryRequest') @@ -112,6 +119,8 @@ module ClientApi DescribeFargateProfileResponse = Shapes::StructureShape.new(name: 'DescribeFargateProfileResponse') DescribeIdentityProviderConfigRequest = Shapes::StructureShape.new(name: 'DescribeIdentityProviderConfigRequest') DescribeIdentityProviderConfigResponse = Shapes::StructureShape.new(name: 'DescribeIdentityProviderConfigResponse') + DescribeInsightRequest = Shapes::StructureShape.new(name: 'DescribeInsightRequest') + DescribeInsightResponse = Shapes::StructureShape.new(name: 'DescribeInsightResponse') DescribeNodegroupRequest = Shapes::StructureShape.new(name: 'DescribeNodegroupRequest') DescribeNodegroupResponse = Shapes::StructureShape.new(name: 'DescribeNodegroupResponse') DescribePodIdentityAssociationRequest = Shapes::StructureShape.new(name: 'DescribePodIdentityAssociationRequest') @@ -146,6 +155,16 @@ module ClientApi IdentityProviderConfigResponse = Shapes::StructureShape.new(name: 'IdentityProviderConfigResponse') IdentityProviderConfigs = Shapes::ListShape.new(name: 'IdentityProviderConfigs') IncludeClustersList = Shapes::ListShape.new(name: 'IncludeClustersList') + Insight = Shapes::StructureShape.new(name: 'Insight') + InsightCategorySpecificSummary = Shapes::StructureShape.new(name: 'InsightCategorySpecificSummary') + InsightResourceDetail = Shapes::StructureShape.new(name: 'InsightResourceDetail') + InsightResourceDetails = Shapes::ListShape.new(name: 'InsightResourceDetails') + InsightStatus = Shapes::StructureShape.new(name: 'InsightStatus') + InsightStatusValue = Shapes::StringShape.new(name: 'InsightStatusValue') + InsightStatusValueList = Shapes::ListShape.new(name: 'InsightStatusValueList') + InsightSummaries = Shapes::ListShape.new(name: 'InsightSummaries') + InsightSummary = Shapes::StructureShape.new(name: 'InsightSummary') + InsightsFilter = Shapes::StructureShape.new(name: 'InsightsFilter') Integer = Shapes::IntegerShape.new(name: 'Integer') InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException') InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException') @@ -178,6 +197,9 @@ module ClientApi ListIdentityProviderConfigsRequest = Shapes::StructureShape.new(name: 'ListIdentityProviderConfigsRequest') ListIdentityProviderConfigsRequestMaxResults = Shapes::IntegerShape.new(name: 'ListIdentityProviderConfigsRequestMaxResults') ListIdentityProviderConfigsResponse = Shapes::StructureShape.new(name: 'ListIdentityProviderConfigsResponse') + ListInsightsMaxResults = Shapes::IntegerShape.new(name: 'ListInsightsMaxResults') + ListInsightsRequest = Shapes::StructureShape.new(name: 'ListInsightsRequest') + ListInsightsResponse = Shapes::StructureShape.new(name: 'ListInsightsResponse') ListNodegroupsRequest = Shapes::StructureShape.new(name: 'ListNodegroupsRequest') ListNodegroupsRequestMaxResults = Shapes::IntegerShape.new(name: 'ListNodegroupsRequestMaxResults') ListNodegroupsResponse = Shapes::StructureShape.new(name: 'ListNodegroupsResponse') @@ -307,6 +329,9 @@ module ClientApi AccessScope.add_member(:namespaces, Shapes::ShapeRef.new(shape: StringList, location_name: "namespaces")) AccessScope.struct_class = Types::AccessScope + AdditionalInfoMap.key = Shapes::ShapeRef.new(shape: String) + AdditionalInfoMap.value = Shapes::ShapeRef.new(shape: String) + Addon.add_member(:addon_name, Shapes::ShapeRef.new(shape: String, location_name: "addonName")) Addon.add_member(:cluster_name, Shapes::ShapeRef.new(shape: ClusterName, location_name: "clusterName")) Addon.add_member(:status, Shapes::ShapeRef.new(shape: AddonStatus, location_name: "status")) @@ -396,6 +421,8 @@ module ClientApi BadRequestException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) BadRequestException.struct_class = Types::BadRequestException + CategoryList.member = Shapes::ShapeRef.new(shape: Category) + Certificate.add_member(:data, Shapes::ShapeRef.new(shape: String, location_name: "data")) Certificate.struct_class = Types::Certificate @@ -406,6 +433,13 @@ module ClientApi ClientException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) ClientException.struct_class = Types::ClientException + ClientStat.add_member(:user_agent, Shapes::ShapeRef.new(shape: String, location_name: "userAgent")) + ClientStat.add_member(:number_of_requests_last_30_days, Shapes::ShapeRef.new(shape: Integer, location_name: "numberOfRequestsLast30Days")) + ClientStat.add_member(:last_request_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastRequestTime")) + ClientStat.struct_class = Types::ClientStat + + ClientStats.member = Shapes::ShapeRef.new(shape: ClientStat) + Cluster.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name")) Cluster.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn")) Cluster.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt")) @@ -613,6 +647,15 @@ module ClientApi DeletePodIdentityAssociationResponse.add_member(:association, Shapes::ShapeRef.new(shape: PodIdentityAssociation, location_name: "association")) DeletePodIdentityAssociationResponse.struct_class = Types::DeletePodIdentityAssociationResponse + DeprecationDetail.add_member(:usage, Shapes::ShapeRef.new(shape: String, location_name: "usage")) + DeprecationDetail.add_member(:replaced_with, Shapes::ShapeRef.new(shape: String, location_name: "replacedWith")) + DeprecationDetail.add_member(:stop_serving_version, Shapes::ShapeRef.new(shape: String, location_name: "stopServingVersion")) + DeprecationDetail.add_member(:start_serving_replacement_version, Shapes::ShapeRef.new(shape: String, location_name: "startServingReplacementVersion")) + DeprecationDetail.add_member(:client_stats, Shapes::ShapeRef.new(shape: ClientStats, location_name: "clientStats")) + DeprecationDetail.struct_class = Types::DeprecationDetail + + DeprecationDetails.member = Shapes::ShapeRef.new(shape: DeprecationDetail) + DeregisterClusterRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name")) DeregisterClusterRequest.struct_class = Types::DeregisterClusterRequest @@ -681,6 +724,13 @@ module ClientApi DescribeIdentityProviderConfigResponse.add_member(:identity_provider_config, Shapes::ShapeRef.new(shape: IdentityProviderConfigResponse, location_name: "identityProviderConfig")) DescribeIdentityProviderConfigResponse.struct_class = Types::DescribeIdentityProviderConfigResponse + DescribeInsightRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name")) + DescribeInsightRequest.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "id")) + DescribeInsightRequest.struct_class = Types::DescribeInsightRequest + + DescribeInsightResponse.add_member(:insight, Shapes::ShapeRef.new(shape: Insight, location_name: "insight")) + DescribeInsightResponse.struct_class = Types::DescribeInsightResponse + DescribeNodegroupRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name")) DescribeNodegroupRequest.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "nodegroupName")) DescribeNodegroupRequest.struct_class = Types::DescribeNodegroupRequest @@ -788,6 +838,53 @@ module ClientApi IncludeClustersList.member = Shapes::ShapeRef.new(shape: String) + Insight.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id")) + Insight.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name")) + Insight.add_member(:category, Shapes::ShapeRef.new(shape: Category, location_name: "category")) + Insight.add_member(:kubernetes_version, Shapes::ShapeRef.new(shape: String, location_name: "kubernetesVersion")) + Insight.add_member(:last_refresh_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastRefreshTime")) + Insight.add_member(:last_transition_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastTransitionTime")) + Insight.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description")) + Insight.add_member(:insight_status, Shapes::ShapeRef.new(shape: InsightStatus, location_name: "insightStatus")) + Insight.add_member(:recommendation, Shapes::ShapeRef.new(shape: String, location_name: "recommendation")) + Insight.add_member(:additional_info, Shapes::ShapeRef.new(shape: AdditionalInfoMap, location_name: "additionalInfo")) + Insight.add_member(:resources, Shapes::ShapeRef.new(shape: InsightResourceDetails, location_name: "resources")) + Insight.add_member(:category_specific_summary, Shapes::ShapeRef.new(shape: InsightCategorySpecificSummary, location_name: "categorySpecificSummary")) + Insight.struct_class = Types::Insight + + InsightCategorySpecificSummary.add_member(:deprecation_details, Shapes::ShapeRef.new(shape: DeprecationDetails, location_name: "deprecationDetails")) + InsightCategorySpecificSummary.struct_class = Types::InsightCategorySpecificSummary + + InsightResourceDetail.add_member(:insight_status, Shapes::ShapeRef.new(shape: InsightStatus, location_name: "insightStatus")) + InsightResourceDetail.add_member(:kubernetes_resource_uri, Shapes::ShapeRef.new(shape: String, location_name: "kubernetesResourceUri")) + InsightResourceDetail.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn")) + InsightResourceDetail.struct_class = Types::InsightResourceDetail + + InsightResourceDetails.member = Shapes::ShapeRef.new(shape: InsightResourceDetail) + + InsightStatus.add_member(:status, Shapes::ShapeRef.new(shape: InsightStatusValue, location_name: "status")) + InsightStatus.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason")) + InsightStatus.struct_class = Types::InsightStatus + + InsightStatusValueList.member = Shapes::ShapeRef.new(shape: InsightStatusValue) + + InsightSummaries.member = Shapes::ShapeRef.new(shape: InsightSummary) + + InsightSummary.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id")) + InsightSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name")) + InsightSummary.add_member(:category, Shapes::ShapeRef.new(shape: Category, location_name: "category")) + InsightSummary.add_member(:kubernetes_version, Shapes::ShapeRef.new(shape: String, location_name: "kubernetesVersion")) + InsightSummary.add_member(:last_refresh_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastRefreshTime")) + InsightSummary.add_member(:last_transition_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastTransitionTime")) + InsightSummary.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description")) + InsightSummary.add_member(:insight_status, Shapes::ShapeRef.new(shape: InsightStatus, location_name: "insightStatus")) + InsightSummary.struct_class = Types::InsightSummary + + InsightsFilter.add_member(:categories, Shapes::ShapeRef.new(shape: CategoryList, location_name: "categories")) + InsightsFilter.add_member(:kubernetes_versions, Shapes::ShapeRef.new(shape: StringList, location_name: "kubernetesVersions")) + InsightsFilter.add_member(:statuses, Shapes::ShapeRef.new(shape: InsightStatusValueList, location_name: "statuses")) + InsightsFilter.struct_class = Types::InsightsFilter + InvalidParameterException.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName")) InvalidParameterException.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, location_name: "nodegroupName")) InvalidParameterException.add_member(:fargate_profile_name, Shapes::ShapeRef.new(shape: String, location_name: "fargateProfileName")) @@ -899,6 +996,16 @@ module ClientApi ListIdentityProviderConfigsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken")) ListIdentityProviderConfigsResponse.struct_class = Types::ListIdentityProviderConfigsResponse + ListInsightsRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name")) + ListInsightsRequest.add_member(:filter, Shapes::ShapeRef.new(shape: InsightsFilter, location_name: "filter")) + ListInsightsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListInsightsMaxResults, location_name: "maxResults")) + ListInsightsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken")) + ListInsightsRequest.struct_class = Types::ListInsightsRequest + + ListInsightsResponse.add_member(:insights, Shapes::ShapeRef.new(shape: InsightSummaries, location_name: "insights")) + ListInsightsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken")) + ListInsightsResponse.struct_class = Types::ListInsightsResponse + ListNodegroupsRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name")) ListNodegroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListNodegroupsRequestMaxResults, location: "querystring", location_name: "maxResults")) ListNodegroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location: "querystring", location_name: "nextToken")) @@ -1623,6 +1730,18 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException) end) + api.add_operation(:describe_insight, Seahorse::Model::Operation.new.tap do |o| + o.name = "DescribeInsight" + o.http_method = "GET" + o.http_request_uri = "/clusters/{name}/insights/{id}" + o.input = Shapes::ShapeRef.new(shape: DescribeInsightRequest) + o.output = Shapes::ShapeRef.new(shape: DescribeInsightResponse) + o.errors << Shapes::ShapeRef.new(shape: ServerException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException) + o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException) + end) + api.add_operation(:describe_nodegroup, Seahorse::Model::Operation.new.tap do |o| o.name = "DescribeNodegroup" o.http_method = "GET" @@ -1827,6 +1946,24 @@ module ClientApi ) end) + api.add_operation(:list_insights, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListInsights" + o.http_method = "POST" + o.http_request_uri = "/clusters/{name}/insights" + o.input = Shapes::ShapeRef.new(shape: ListInsightsRequest) + o.output = Shapes::ShapeRef.new(shape: ListInsightsResponse) + o.errors << Shapes::ShapeRef.new(shape: ServerException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException) + o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + api.add_operation(:list_nodegroups, Seahorse::Model::Operation.new.tap do |o| o.name = "ListNodegroups" o.http_method = "GET" diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/endpoints.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/endpoints.rb index ffa34db3cb7..f70bc7376e9 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/endpoints.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/endpoints.rb @@ -376,6 +376,20 @@ def self.build(context) end end + class DescribeInsight + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::EKS::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class DescribeNodegroup def self.build(context) unless context.config.regional_endpoint @@ -558,6 +572,20 @@ def self.build(context) end end + class ListInsights + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::EKS::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class ListNodegroups def self.build(context) unless context.config.regional_endpoint diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/plugins/endpoints.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/plugins/endpoints.rb index b09427def1e..cb4cf1afc97 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/plugins/endpoints.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/plugins/endpoints.rb @@ -109,6 +109,8 @@ def parameters_for_operation(context) Aws::EKS::Endpoints::DescribeFargateProfile.build(context) when :describe_identity_provider_config Aws::EKS::Endpoints::DescribeIdentityProviderConfig.build(context) + when :describe_insight + Aws::EKS::Endpoints::DescribeInsight.build(context) when :describe_nodegroup Aws::EKS::Endpoints::DescribeNodegroup.build(context) when :describe_pod_identity_association @@ -135,6 +137,8 @@ def parameters_for_operation(context) Aws::EKS::Endpoints::ListFargateProfiles.build(context) when :list_identity_provider_configs Aws::EKS::Endpoints::ListIdentityProviderConfigs.build(context) + when :list_insights + Aws::EKS::Endpoints::ListInsights.build(context) when :list_nodegroups Aws::EKS::Endpoints::ListNodegroups.build(context) when :list_pod_identity_associations diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb index 5e02fd6e25e..9dd6a1fa52f 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb @@ -652,6 +652,32 @@ class ClientException < Struct.new( include Aws::Structure end + # Details about clients using the deprecated resources. + # + # @!attribute [rw] user_agent + # The user agent of the Kubernetes client using the deprecated + # resource. + # @return [String] + # + # @!attribute [rw] number_of_requests_last_30_days + # The number of requests from the Kubernetes client seen over the last + # 30 days. + # @return [Integer] + # + # @!attribute [rw] last_request_time + # The timestamp of the last request seen from the Kubernetes client. + # @return [Time] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ClientStat AWS API Documentation + # + class ClientStat < Struct.new( + :user_agent, + :number_of_requests_last_30_days, + :last_request_time) + SENSITIVE = [] + include Aws::Structure + end + # An object representing an Amazon EKS cluster. # # @!attribute [rw] name @@ -999,12 +1025,16 @@ class CreateAccessConfigRequest < Struct.new( # more than one access entry. This value can't be changed after # access entry creation. # - # [IAM best practices][1] recommend using IAM roles with temporary - # credentials, rather than IAM users with long-term credentials. - # - # - # - # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp + # The valid principals differ depending on the type of the access + # entry in the `type` field. The only valid ARN is IAM roles for the + # types of access entries for nodes: ` . You can use every IAM + # principal type for STANDARD access entries. You can't use the STS + # session principal type with access entries because this is a + # temporary principal for each session and not a permanent identity + # that can be assigned permissions.

IAM best practices recommend + # using IAM roles with temporary credentials, rather than IAM users + # with long-term credentials. + # ` # @return [String] # # @!attribute [rw] kubernetes_groups @@ -1062,6 +1092,9 @@ class CreateAccessConfigRequest < Struct.new( # @return [String] # # @!attribute [rw] type + # The type of the new access entry. Valid values are `Standard`, + # `FARGATE_LINUX`, `EC2_LINUX`, and `EC2_WINDOWS`. + # # If the `principalArn` is for an IAM role that's used for # self-managed Amazon EC2 nodes, specify `EC2_LINUX` or `EC2_WINDOWS`. # Amazon EKS grants the necessary permissions to the node for you. If @@ -2035,6 +2068,43 @@ class DeletePodIdentityAssociationResponse < Struct.new( include Aws::Structure end + # The summary information about deprecated resource usage for an insight + # check in the `UPGRADE_READINESS` category. + # + # @!attribute [rw] usage + # The deprecated version of the resource. + # @return [String] + # + # @!attribute [rw] replaced_with + # The newer version of the resource to migrate to if applicable. + # @return [String] + # + # @!attribute [rw] stop_serving_version + # The version of the software where the deprecated resource version + # will stop being served. + # @return [String] + # + # @!attribute [rw] start_serving_replacement_version + # The version of the software where the newer resource version became + # available to migrate to if applicable. + # @return [String] + # + # @!attribute [rw] client_stats + # Details about Kubernetes clients using the deprecated resources. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeprecationDetail AWS API Documentation + # + class DeprecationDetail < Struct.new( + :usage, + :replaced_with, + :stop_serving_version, + :start_serving_replacement_version, + :client_stats) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] name # The name of the connected cluster to deregister. # @return [String] @@ -2379,6 +2449,35 @@ class DescribeIdentityProviderConfigResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] cluster_name + # The name of the cluster to describe the insight for. + # @return [String] + # + # @!attribute [rw] id + # The identity of the insight to describe. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeInsightRequest AWS API Documentation + # + class DescribeInsightRequest < Struct.new( + :cluster_name, + :id) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] insight + # The full description of the insight. + # @return [Types::Insight] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeInsightResponse AWS API Documentation + # + class DescribeInsightResponse < Struct.new( + :insight) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] cluster_name # The name of your cluster. # @return [String] @@ -2862,6 +2961,222 @@ class IdentityProviderConfigResponse < Struct.new( include Aws::Structure end + # A check that provides recommendations to remedy potential + # upgrade-impacting issues. + # + # @!attribute [rw] id + # The ID of the insight. + # @return [String] + # + # @!attribute [rw] name + # The name of the insight. + # @return [String] + # + # @!attribute [rw] category + # The category of the insight. + # @return [String] + # + # @!attribute [rw] kubernetes_version + # The Kubernetes minor version associated with an insight if + # applicable. + # @return [String] + # + # @!attribute [rw] last_refresh_time + # The time Amazon EKS last successfully completed a refresh of this + # insight check on the cluster. + # @return [Time] + # + # @!attribute [rw] last_transition_time + # The time the status of the insight last changed. + # @return [Time] + # + # @!attribute [rw] description + # The description of the insight which includes alert criteria, + # remediation recommendation, and additional resources (contains + # Markdown). + # @return [String] + # + # @!attribute [rw] insight_status + # An object containing more detail on the status of the insight + # resource. + # @return [Types::InsightStatus] + # + # @!attribute [rw] recommendation + # A summary of how to remediate the finding of this insight if + # applicable. + # @return [String] + # + # @!attribute [rw] additional_info + # Links to sources that provide additional context on the insight. + # @return [Hash] + # + # @!attribute [rw] resources + # The details about each resource listed in the insight check result. + # @return [Array] + # + # @!attribute [rw] category_specific_summary + # Summary information that relates to the category of the insight. + # Currently only returned with certain insights having category + # `UPGRADE_READINESS`. + # @return [Types::InsightCategorySpecificSummary] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Insight AWS API Documentation + # + class Insight < Struct.new( + :id, + :name, + :category, + :kubernetes_version, + :last_refresh_time, + :last_transition_time, + :description, + :insight_status, + :recommendation, + :additional_info, + :resources, + :category_specific_summary) + SENSITIVE = [] + include Aws::Structure + end + + # Summary information that relates to the category of the insight. + # Currently only returned with certain insights having category + # `UPGRADE_READINESS`. + # + # @!attribute [rw] deprecation_details + # The summary information about deprecated resource usage for an + # insight check in the `UPGRADE_READINESS` category. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/InsightCategorySpecificSummary AWS API Documentation + # + class InsightCategorySpecificSummary < Struct.new( + :deprecation_details) + SENSITIVE = [] + include Aws::Structure + end + + # Returns information about the resource being evaluated. + # + # @!attribute [rw] insight_status + # An object containing more detail on the status of the insight + # resource. + # @return [Types::InsightStatus] + # + # @!attribute [rw] kubernetes_resource_uri + # The Kubernetes resource URI if applicable. + # @return [String] + # + # @!attribute [rw] arn + # The Amazon Resource Name (ARN) if applicable. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/InsightResourceDetail AWS API Documentation + # + class InsightResourceDetail < Struct.new( + :insight_status, + :kubernetes_resource_uri, + :arn) + SENSITIVE = [] + include Aws::Structure + end + + # The status of the insight. + # + # @!attribute [rw] status + # The status of the resource. + # @return [String] + # + # @!attribute [rw] reason + # Explanation on the reasoning for the status of the resource. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/InsightStatus AWS API Documentation + # + class InsightStatus < Struct.new( + :status, + :reason) + SENSITIVE = [] + include Aws::Structure + end + + # The summarized description of the insight. + # + # @!attribute [rw] id + # The ID of the insight. + # @return [String] + # + # @!attribute [rw] name + # The name of the insight. + # @return [String] + # + # @!attribute [rw] category + # The category of the insight. + # @return [String] + # + # @!attribute [rw] kubernetes_version + # The Kubernetes minor version associated with an insight if + # applicable. + # @return [String] + # + # @!attribute [rw] last_refresh_time + # The time Amazon EKS last successfully completed a refresh of this + # insight check on the cluster. + # @return [Time] + # + # @!attribute [rw] last_transition_time + # The time the status of the insight last changed. + # @return [Time] + # + # @!attribute [rw] description + # The description of the insight which includes alert criteria, + # remediation recommendation, and additional resources (contains + # Markdown). + # @return [String] + # + # @!attribute [rw] insight_status + # An object containing more detail on the status of the insight. + # @return [Types::InsightStatus] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/InsightSummary AWS API Documentation + # + class InsightSummary < Struct.new( + :id, + :name, + :category, + :kubernetes_version, + :last_refresh_time, + :last_transition_time, + :description, + :insight_status) + SENSITIVE = [] + include Aws::Structure + end + + # The criteria to use for the insights. + # + # @!attribute [rw] categories + # The categories to use to filter insights. + # @return [Array] + # + # @!attribute [rw] kubernetes_versions + # The Kubernetes versions to use to filter the insights. + # @return [Array] + # + # @!attribute [rw] statuses + # The statuses to use to filter the insights. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/InsightsFilter AWS API Documentation + # + class InsightsFilter < Struct.new( + :categories, + :kubernetes_versions, + :statuses) + SENSITIVE = [] + include Aws::Structure + end + # The specified parameter is invalid. Review the available parameters # for the API request. # @@ -3710,6 +4025,12 @@ class ListIdentityProviderConfigsRequest < Struct.new( # `ListIdentityProviderConfigsResponse` request exceed `maxResults`, # you can use this value to retrieve the next page of results. This # value is `null` when there are no more results to return. + # + # This token should be treated as an opaque identifier that is used + # only to retrieve the next items in a list and not for other + # programmatic purposes. + # + # # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigsResponse AWS API Documentation @@ -3721,6 +4042,66 @@ class ListIdentityProviderConfigsResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] cluster_name + # The name of the Amazon EKS cluster associated with the insights. + # @return [String] + # + # @!attribute [rw] filter + # The criteria to filter your list of insights for your cluster. You + # can filter which insights are returned by category, associated + # Kubernetes version, and status. + # @return [Types::InsightsFilter] + # + # @!attribute [rw] max_results + # The maximum number of identity provider configurations returned by + # `ListInsights` in paginated output. When you use this parameter, + # `ListInsights` returns only `maxResults` results in a single page + # along with a `nextToken` response element. You can see the remaining + # results of the initial request by sending another `ListInsights` + # request with the returned `nextToken` value. This value can be + # between 1 and 100. If you don't use this parameter, `ListInsights` + # returns up to 100 results and a `nextToken` value, if applicable. + # @return [Integer] + # + # @!attribute [rw] next_token + # The `nextToken` value returned from a previous paginated + # `ListInsights` request. When the results of a `ListInsights` request + # exceed `maxResults`, you can use this value to retrieve the next + # page of results. This value is `null` when there are no more results + # to return. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListInsightsRequest AWS API Documentation + # + class ListInsightsRequest < Struct.new( + :cluster_name, + :filter, + :max_results, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] insights + # The returned list of insights. + # @return [Array] + # + # @!attribute [rw] next_token + # The `nextToken` value to include in a future `ListInsights` request. + # When the results of a `ListInsights` request exceed `maxResults`, + # you can use this value to retrieve the next page of results. This + # value is `null` when there are no more results to return. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListInsightsResponse AWS API Documentation + # + class ListInsightsResponse < Struct.new( + :insights, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] cluster_name # The name of your cluster. # @return [String] diff --git a/gems/aws-sdk-eventbridge/CHANGELOG.md b/gems/aws-sdk-eventbridge/CHANGELOG.md index 8ac8ea8086a..ff59446f758 100644 --- a/gems/aws-sdk-eventbridge/CHANGELOG.md +++ b/gems/aws-sdk-eventbridge/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.55.0 (2023-12-20) +------------------ + +* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details. + 1.54.0 (2023-11-28) ------------------ diff --git a/gems/aws-sdk-eventbridge/VERSION b/gems/aws-sdk-eventbridge/VERSION index b7921ae87bc..094d6ad00ce 100644 --- a/gems/aws-sdk-eventbridge/VERSION +++ b/gems/aws-sdk-eventbridge/VERSION @@ -1 +1 @@ -1.54.0 +1.55.0 diff --git a/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge.rb b/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge.rb index ad8968b6b8c..d966642d16f 100644 --- a/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge.rb +++ b/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge.rb @@ -52,6 +52,6 @@ # @!group service module Aws::EventBridge - GEM_VERSION = '1.54.0' + GEM_VERSION = '1.55.0' end diff --git a/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge/client.rb b/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge/client.rb index e4b40619d06..4aaa3464900 100644 --- a/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge/client.rb +++ b/gems/aws-sdk-eventbridge/lib/aws-sdk-eventbridge/client.rb @@ -3806,7 +3806,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-eventbridge' - context[:gem_version] = '1.54.0' + context[:gem_version] = '1.55.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-eventbridge/spec/endpoint_provider_spec.rb b/gems/aws-sdk-eventbridge/spec/endpoint_provider_spec.rb index 7e4e9e2ced9..416c64d6f3e 100644 --- a/gems/aws-sdk-eventbridge/spec/endpoint_provider_spec.rb +++ b/gems/aws-sdk-eventbridge/spec/endpoint_provider_spec.rb @@ -770,7 +770,7 @@ module Aws::EventBridge expect_auth({"signingName"=>"events", "name"=>"sigv4a", "signingRegionSet"=>["*"]}) resp = client.put_events( endpoint_id: 'abc123.456def', - entries: [{"detail_type"=>"detailType", "detail"=>"{ \"test\": [\"test\"] }", "event_bus_name"=>"my-sdk-app"}], + entries: [{:detail_type=>"detailType", :detail=>"{ \"test\": [\"test\"] }", :event_bus_name=>"my-sdk-app"}], ) expected_uri = URI.parse(expected['endpoint']['url']) expect(resp.context.http_request.endpoint.to_s).to include(expected_uri.host) diff --git a/gems/aws-sdk-guardduty/CHANGELOG.md b/gems/aws-sdk-guardduty/CHANGELOG.md index 351024afd25..fdf831142a5 100644 --- a/gems/aws-sdk-guardduty/CHANGELOG.md +++ b/gems/aws-sdk-guardduty/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.86.0 (2023-12-20) +------------------ + +* Feature - This release 1) introduces a new API: GetOrganizationStatistics , and 2) adds a new UsageStatisticType TOP_ACCOUNTS_BY_FEATURE for GetUsageStatistics API + 1.85.0 (2023-11-28) ------------------ diff --git a/gems/aws-sdk-guardduty/VERSION b/gems/aws-sdk-guardduty/VERSION index f288d11142d..b7844a6ffdc 100644 --- a/gems/aws-sdk-guardduty/VERSION +++ b/gems/aws-sdk-guardduty/VERSION @@ -1 +1 @@ -1.85.0 +1.86.0 diff --git a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty.rb b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty.rb index e8cfa3193f0..d21f8715ea6 100644 --- a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty.rb +++ b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty.rb @@ -52,6 +52,6 @@ # @!group service module Aws::GuardDuty - GEM_VERSION = '1.85.0' + GEM_VERSION = '1.86.0' end diff --git a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client.rb b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client.rb index e4cf94ee30f..a7d251cab4d 100644 --- a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client.rb +++ b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client.rb @@ -968,22 +968,30 @@ def create_ip_set(params = {}, options = {}) # organization delegated administrator account. A delegated # administrator must enable GuardDuty prior to being added as a member. # + # When you use CreateMembers as an Organizations delegated + # administrator, GuardDuty applies your organization's auto-enable + # settings to the member accounts in this request, irrespective of the + # accounts being new or existing members. For more information about the + # existing auto-enable settings for your organization, see + # [DescribeOrganizationConfiguration][1]. + # # If you are adding accounts by invitation, before using - # [InviteMembers][1], use `CreateMembers` after GuardDuty has been + # [InviteMembers][2], use `CreateMembers` after GuardDuty has been # enabled in potential member accounts. # # If you disassociate a member from a GuardDuty delegated administrator, # the member account details obtained from this API, including the # associated email addresses, will be retained. This is done so that the - # delegated administrator can invoke the [InviteMembers][1] API without + # delegated administrator can invoke the [InviteMembers][2] API without # the need to invoke the CreateMembers API again. To remove the details # associated with a member account, the delegated administrator must - # invoke the [DeleteMembers][2] API. + # invoke the [DeleteMembers][3] API. # # # - # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html - # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMembers.html + # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DescribeOrganizationConfiguration.html + # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html + # [3]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMembers.html # # @option params [required, String] :detector_id # The unique ID of the detector of the GuardDuty account that you want @@ -1852,8 +1860,8 @@ def get_administrator_account(params = {}, options = {}) # Retrieves aggregated statistics for your account. If you are a # GuardDuty administrator, you can retrieve the statistics for all the # resources associated with the active member accounts in your - # organization who have enabled EKS Runtime Monitoring and have the - # GuardDuty agent running on their EKS nodes. + # organization who have enabled Runtime Monitoring and have the + # GuardDuty security agent running on their resources. # # @option params [required, String] :detector_id # The unique ID of the GuardDuty detector associated to the coverage @@ -2823,6 +2831,40 @@ def get_members(params = {}, options = {}) req.send_request(options) end + # Retrieves how many active member accounts in your Amazon Web Services + # organization have each feature enabled within GuardDuty. Only a + # delegated GuardDuty administrator of an organization can run this API. + # + # When you create a new Amazon Web Services organization, it might take + # up to 24 hours to generate the statistics for the entire organization. + # + # @return [Types::GetOrganizationStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetOrganizationStatisticsResponse#organization_details #organization_details} => Types::OrganizationDetails + # + # @example Response structure + # + # resp.organization_details.updated_at #=> Time + # resp.organization_details.organization_statistics.total_accounts_count #=> Integer + # resp.organization_details.organization_statistics.member_accounts_count #=> Integer + # resp.organization_details.organization_statistics.active_accounts_count #=> Integer + # resp.organization_details.organization_statistics.enabled_accounts_count #=> Integer + # resp.organization_details.organization_statistics.count_by_feature #=> Array + # resp.organization_details.organization_statistics.count_by_feature[0].name #=> String, one of "S3_DATA_EVENTS", "EKS_AUDIT_LOGS", "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "EKS_RUNTIME_MONITORING", "LAMBDA_NETWORK_LOGS", "RUNTIME_MONITORING" + # resp.organization_details.organization_statistics.count_by_feature[0].enabled_accounts_count #=> Integer + # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration #=> Array + # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration[0].name #=> String, one of "EKS_ADDON_MANAGEMENT", "ECS_FARGATE_AGENT_MANAGEMENT" + # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration[0].enabled_accounts_count #=> Integer + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetOrganizationStatistics AWS API Documentation + # + # @overload get_organization_statistics(params = {}) + # @param [Hash] params ({}) + def get_organization_statistics(params = {}, options = {}) + req = build_request(:get_organization_statistics, params) + req.send_request(options) + end + # Provides the number of days left for each data source used in the free # trial period. # @@ -2959,7 +3001,7 @@ def get_threat_intel_set(params = {}, options = {}) # # resp = client.get_usage_statistics({ # detector_id: "DetectorId", # required - # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES, SUM_BY_FEATURES + # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES, SUM_BY_FEATURES, TOP_ACCOUNTS_BY_FEATURE # usage_criteria: { # required # account_ids: ["AccountId"], # data_sources: ["FLOW_LOGS"], # accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS, EC2_MALWARE_SCAN @@ -2977,6 +3019,12 @@ def get_threat_intel_set(params = {}, options = {}) # resp.usage_statistics.sum_by_account[0].account_id #=> String # resp.usage_statistics.sum_by_account[0].total.amount #=> String # resp.usage_statistics.sum_by_account[0].total.unit #=> String + # resp.usage_statistics.top_accounts_by_feature #=> Array + # resp.usage_statistics.top_accounts_by_feature[0].feature #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_DATA_EVENTS", "EKS_AUDIT_LOGS", "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "LAMBDA_NETWORK_LOGS", "EKS_RUNTIME_MONITORING", "FARGATE_RUNTIME_MONITORING", "EC2_RUNTIME_MONITORING" + # resp.usage_statistics.top_accounts_by_feature[0].accounts #=> Array + # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].account_id #=> String + # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].total.amount #=> String + # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].total.unit #=> String # resp.usage_statistics.sum_by_data_source #=> Array # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS", "KUBERNETES_AUDIT_LOGS", "EC2_MALWARE_SCAN" # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String @@ -3085,8 +3133,8 @@ def invite_members(params = {}, options = {}) # GuardDuty administrator, you can retrieve all resources associated # with the active member accounts in your organization. # - # Make sure the accounts have EKS Runtime Monitoring enabled and - # GuardDuty agent running on their EKS nodes. + # Make sure the accounts have Runtime Monitoring enabled and GuardDuty + # agent running on their resources. # # @option params [required, String] :detector_id # The unique ID of the detector whose coverage details you want to @@ -4548,7 +4596,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-guardduty' - context[:gem_version] = '1.85.0' + context[:gem_version] = '1.86.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client_api.rb b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client_api.rb index 6ce7b37dd85..0a7460380f6 100644 --- a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client_api.rb +++ b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/client_api.rb @@ -225,6 +225,7 @@ module ClientApi GetMemberDetectorsResponse = Shapes::StructureShape.new(name: 'GetMemberDetectorsResponse') GetMembersRequest = Shapes::StructureShape.new(name: 'GetMembersRequest') GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse') + GetOrganizationStatisticsResponse = Shapes::StructureShape.new(name: 'GetOrganizationStatisticsResponse') GetRemainingFreeTrialDaysRequest = Shapes::StructureShape.new(name: 'GetRemainingFreeTrialDaysRequest') GetRemainingFreeTrialDaysResponse = Shapes::StructureShape.new(name: 'GetRemainingFreeTrialDaysResponse') GetThreatIntelSetRequest = Shapes::StructureShape.new(name: 'GetThreatIntelSetRequest') @@ -335,10 +336,15 @@ module ClientApi OrganizationAdditionalConfigurations = Shapes::ListShape.new(name: 'OrganizationAdditionalConfigurations') OrganizationDataSourceConfigurations = Shapes::StructureShape.new(name: 'OrganizationDataSourceConfigurations') OrganizationDataSourceConfigurationsResult = Shapes::StructureShape.new(name: 'OrganizationDataSourceConfigurationsResult') + OrganizationDetails = Shapes::StructureShape.new(name: 'OrganizationDetails') OrganizationEbsVolumes = Shapes::StructureShape.new(name: 'OrganizationEbsVolumes') OrganizationEbsVolumesResult = Shapes::StructureShape.new(name: 'OrganizationEbsVolumesResult') OrganizationFeatureConfiguration = Shapes::StructureShape.new(name: 'OrganizationFeatureConfiguration') OrganizationFeatureConfigurationResult = Shapes::StructureShape.new(name: 'OrganizationFeatureConfigurationResult') + OrganizationFeatureStatistics = Shapes::StructureShape.new(name: 'OrganizationFeatureStatistics') + OrganizationFeatureStatisticsAdditionalConfiguration = Shapes::StructureShape.new(name: 'OrganizationFeatureStatisticsAdditionalConfiguration') + OrganizationFeatureStatisticsAdditionalConfigurations = Shapes::ListShape.new(name: 'OrganizationFeatureStatisticsAdditionalConfigurations') + OrganizationFeatureStatisticsResults = Shapes::ListShape.new(name: 'OrganizationFeatureStatisticsResults') OrganizationFeaturesConfigurations = Shapes::ListShape.new(name: 'OrganizationFeaturesConfigurations') OrganizationFeaturesConfigurationsResults = Shapes::ListShape.new(name: 'OrganizationFeaturesConfigurationsResults') OrganizationKubernetesAuditLogsConfiguration = Shapes::StructureShape.new(name: 'OrganizationKubernetesAuditLogsConfiguration') @@ -351,6 +357,7 @@ module ClientApi OrganizationS3LogsConfigurationResult = Shapes::StructureShape.new(name: 'OrganizationS3LogsConfigurationResult') OrganizationScanEc2InstanceWithFindings = Shapes::StructureShape.new(name: 'OrganizationScanEc2InstanceWithFindings') OrganizationScanEc2InstanceWithFindingsResult = Shapes::StructureShape.new(name: 'OrganizationScanEc2InstanceWithFindingsResult') + OrganizationStatistics = Shapes::StructureShape.new(name: 'OrganizationStatistics') Owner = Shapes::StructureShape.new(name: 'Owner') PermissionConfiguration = Shapes::StructureShape.new(name: 'PermissionConfiguration') PortProbeAction = Shapes::StructureShape.new(name: 'PortProbeAction') @@ -475,6 +482,10 @@ module ClientApi UsageResourceResultList = Shapes::ListShape.new(name: 'UsageResourceResultList') UsageStatisticType = Shapes::StringShape.new(name: 'UsageStatisticType') UsageStatistics = Shapes::StructureShape.new(name: 'UsageStatistics') + UsageTopAccountResult = Shapes::StructureShape.new(name: 'UsageTopAccountResult') + UsageTopAccountsByFeatureList = Shapes::ListShape.new(name: 'UsageTopAccountsByFeatureList') + UsageTopAccountsResult = Shapes::StructureShape.new(name: 'UsageTopAccountsResult') + UsageTopAccountsResultList = Shapes::ListShape.new(name: 'UsageTopAccountsResultList') Volume = Shapes::StructureShape.new(name: 'Volume') VolumeDetail = Shapes::StructureShape.new(name: 'VolumeDetail') VolumeDetails = Shapes::ListShape.new(name: 'VolumeDetails') @@ -1228,6 +1239,9 @@ module ClientApi GetMembersResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: UnprocessedAccounts, required: true, location_name: "unprocessedAccounts")) GetMembersResponse.struct_class = Types::GetMembersResponse + GetOrganizationStatisticsResponse.add_member(:organization_details, Shapes::ShapeRef.new(shape: OrganizationDetails, location_name: "organizationDetails")) + GetOrganizationStatisticsResponse.struct_class = Types::GetOrganizationStatisticsResponse + GetRemainingFreeTrialDaysRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId")) GetRemainingFreeTrialDaysRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds")) GetRemainingFreeTrialDaysRequest.struct_class = Types::GetRemainingFreeTrialDaysRequest @@ -1652,6 +1666,10 @@ module ClientApi OrganizationDataSourceConfigurationsResult.add_member(:malware_protection, Shapes::ShapeRef.new(shape: OrganizationMalwareProtectionConfigurationResult, location_name: "malwareProtection")) OrganizationDataSourceConfigurationsResult.struct_class = Types::OrganizationDataSourceConfigurationsResult + OrganizationDetails.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt")) + OrganizationDetails.add_member(:organization_statistics, Shapes::ShapeRef.new(shape: OrganizationStatistics, location_name: "organizationStatistics")) + OrganizationDetails.struct_class = Types::OrganizationDetails + OrganizationEbsVolumes.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, location_name: "autoEnable")) OrganizationEbsVolumes.struct_class = Types::OrganizationEbsVolumes @@ -1668,6 +1686,19 @@ module ClientApi OrganizationFeatureConfigurationResult.add_member(:additional_configuration, Shapes::ShapeRef.new(shape: OrganizationAdditionalConfigurationResults, location_name: "additionalConfiguration")) OrganizationFeatureConfigurationResult.struct_class = Types::OrganizationFeatureConfigurationResult + OrganizationFeatureStatistics.add_member(:name, Shapes::ShapeRef.new(shape: OrgFeature, location_name: "name")) + OrganizationFeatureStatistics.add_member(:enabled_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "enabledAccountsCount")) + OrganizationFeatureStatistics.add_member(:additional_configuration, Shapes::ShapeRef.new(shape: OrganizationFeatureStatisticsAdditionalConfigurations, location_name: "additionalConfiguration")) + OrganizationFeatureStatistics.struct_class = Types::OrganizationFeatureStatistics + + OrganizationFeatureStatisticsAdditionalConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: OrgFeatureAdditionalConfiguration, location_name: "name")) + OrganizationFeatureStatisticsAdditionalConfiguration.add_member(:enabled_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "enabledAccountsCount")) + OrganizationFeatureStatisticsAdditionalConfiguration.struct_class = Types::OrganizationFeatureStatisticsAdditionalConfiguration + + OrganizationFeatureStatisticsAdditionalConfigurations.member = Shapes::ShapeRef.new(shape: OrganizationFeatureStatisticsAdditionalConfiguration) + + OrganizationFeatureStatisticsResults.member = Shapes::ShapeRef.new(shape: OrganizationFeatureStatistics) + OrganizationFeaturesConfigurations.member = Shapes::ShapeRef.new(shape: OrganizationFeatureConfiguration) OrganizationFeaturesConfigurationsResults.member = Shapes::ShapeRef.new(shape: OrganizationFeatureConfigurationResult) @@ -1702,6 +1733,13 @@ module ClientApi OrganizationScanEc2InstanceWithFindingsResult.add_member(:ebs_volumes, Shapes::ShapeRef.new(shape: OrganizationEbsVolumesResult, location_name: "ebsVolumes")) OrganizationScanEc2InstanceWithFindingsResult.struct_class = Types::OrganizationScanEc2InstanceWithFindingsResult + OrganizationStatistics.add_member(:total_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "totalAccountsCount")) + OrganizationStatistics.add_member(:member_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "memberAccountsCount")) + OrganizationStatistics.add_member(:active_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "activeAccountsCount")) + OrganizationStatistics.add_member(:enabled_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "enabledAccountsCount")) + OrganizationStatistics.add_member(:count_by_feature, Shapes::ShapeRef.new(shape: OrganizationFeatureStatisticsResults, location_name: "countByFeature")) + OrganizationStatistics.struct_class = Types::OrganizationStatistics + Owner.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id")) Owner.struct_class = Types::Owner @@ -2154,12 +2192,25 @@ module ClientApi UsageResourceResultList.member = Shapes::ShapeRef.new(shape: UsageResourceResult) UsageStatistics.add_member(:sum_by_account, Shapes::ShapeRef.new(shape: UsageAccountResultList, location_name: "sumByAccount")) + UsageStatistics.add_member(:top_accounts_by_feature, Shapes::ShapeRef.new(shape: UsageTopAccountsResultList, location_name: "topAccountsByFeature")) UsageStatistics.add_member(:sum_by_data_source, Shapes::ShapeRef.new(shape: UsageDataSourceResultList, location_name: "sumByDataSource")) UsageStatistics.add_member(:sum_by_resource, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "sumByResource")) UsageStatistics.add_member(:top_resources, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "topResources")) UsageStatistics.add_member(:sum_by_feature, Shapes::ShapeRef.new(shape: UsageFeatureResultList, location_name: "sumByFeature")) UsageStatistics.struct_class = Types::UsageStatistics + UsageTopAccountResult.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId")) + UsageTopAccountResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total")) + UsageTopAccountResult.struct_class = Types::UsageTopAccountResult + + UsageTopAccountsByFeatureList.member = Shapes::ShapeRef.new(shape: UsageTopAccountResult) + + UsageTopAccountsResult.add_member(:feature, Shapes::ShapeRef.new(shape: UsageFeature, location_name: "feature")) + UsageTopAccountsResult.add_member(:accounts, Shapes::ShapeRef.new(shape: UsageTopAccountsByFeatureList, location_name: "accounts")) + UsageTopAccountsResult.struct_class = Types::UsageTopAccountsResult + + UsageTopAccountsResultList.member = Shapes::ShapeRef.new(shape: UsageTopAccountsResult) + Volume.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name")) Volume.add_member(:host_path, Shapes::ShapeRef.new(shape: HostPath, location_name: "hostPath")) Volume.struct_class = Types::Volume @@ -2601,6 +2652,16 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException) end) + api.add_operation(:get_organization_statistics, Seahorse::Model::Operation.new.tap do |o| + o.name = "GetOrganizationStatistics" + o.http_method = "GET" + o.http_request_uri = "/organization/statistics" + o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure)) + o.output = Shapes::ShapeRef.new(shape: GetOrganizationStatisticsResponse) + o.errors << Shapes::ShapeRef.new(shape: BadRequestException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException) + end) + api.add_operation(:get_remaining_free_trial_days, Seahorse::Model::Operation.new.tap do |o| o.name = "GetRemainingFreeTrialDays" o.http_method = "POST" diff --git a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/endpoints.rb b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/endpoints.rb index aba1650ec7f..1e84fd586d8 100644 --- a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/endpoints.rb +++ b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/endpoints.rb @@ -544,6 +544,20 @@ def self.build(context) end end + class GetOrganizationStatistics + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::GuardDuty::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class GetRemainingFreeTrialDays def self.build(context) unless context.config.regional_endpoint diff --git a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/plugins/endpoints.rb b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/plugins/endpoints.rb index 85a24fa8b1c..be0fc41ddc4 100644 --- a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/plugins/endpoints.rb +++ b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/plugins/endpoints.rb @@ -133,6 +133,8 @@ def parameters_for_operation(context) Aws::GuardDuty::Endpoints::GetMemberDetectors.build(context) when :get_members Aws::GuardDuty::Endpoints::GetMembers.build(context) + when :get_organization_statistics + Aws::GuardDuty::Endpoints::GetOrganizationStatistics.build(context) when :get_remaining_free_trial_days Aws::GuardDuty::Endpoints::GetRemainingFreeTrialDays.build(context) when :get_threat_intel_set diff --git a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/types.rb b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/types.rb index c276249a500..13cacccb819 100644 --- a/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/types.rb +++ b/gems/aws-sdk-guardduty/lib/aws-sdk-guardduty/types.rb @@ -810,13 +810,18 @@ class Country < Struct.new( # This API is also used when you use GuardDuty Runtime Monitoring for # your Amazon EC2 instances (currently in preview release) and is - # subject to change. + # subject to change. The use of this API is subject to Section 2 of the + # [Amazon Web Services Service Terms][1] ("Betas and Previews"). # # # # Contains information about the Amazon EC2 instance runtime coverage # details. # + # + # + # [1]: http://aws.amazon.com/service-terms/ + # # @!attribute [rw] instance_id # The Amazon EC2 instance ID. # @return [String] @@ -845,7 +850,7 @@ class Country < Struct.new( # manage the GuardDuty security agent updates for this resource. # # The `DISABLED` status doesn't apply to Amazon EC2 instances and - # Amazon EKS clusters that run on Amazon EC2 instances. + # Amazon EKS clusters. # # # @return [String] @@ -1059,12 +1064,17 @@ class CoverageResource < Struct.new( # @!attribute [rw] ec2_instance_details # This API is also used when you use GuardDuty Runtime Monitoring for # your Amazon EC2 instances (currently in preview release) and is - # subject to change. + # subject to change. The use of this API is subject to Section 2 of + # the [Amazon Web Services Service Terms][1] ("Betas and Previews"). # # # # Information about the Amazon EC2 instance assessed for runtime # coverage. + # + # + # + # [1]: http://aws.amazon.com/service-terms/ # @return [Types::CoverageEc2InstanceDetails] # # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CoverageResourceDetails AWS API Documentation @@ -2798,12 +2808,12 @@ class Evidence < Struct.new( include Aws::Structure end - # Contains information about AWS Fargate details associated with an - # Amazon ECS cluster. + # Contains information about Amazon Web Services Fargate details + # associated with an Amazon ECS cluster. # # @!attribute [rw] issues - # Runtime coverage issues identified for the resource running on AWS - # Fargate. + # Runtime coverage issues identified for the resource running on + # Amazon Web Services Fargate. # @return [Array] # # @!attribute [rw] management_type @@ -2813,11 +2823,13 @@ class Evidence < Struct.new( # * `AUTO_MANAGED` indicates that GuardDuty deploys and manages # updates for this resource. # - # * `MANUAL` indicates that you are responsible to deploy, update, and - # manage the GuardDuty security agent updates for this resource. - # # * `DISABLED` indicates that the deployment of the GuardDuty security # agent is disabled for this resource. + # + # The `MANUAL` status doesn't apply to the Amazon Web Services + # Fargate (Amazon ECS only) woprkloads. + # + # # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/FargateDetails AWS API Documentation @@ -3513,6 +3525,18 @@ class GetMembersResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] organization_details + # Information about the statistics report for your organization. + # @return [Types::OrganizationDetails] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetOrganizationStatisticsResponse AWS API Documentation + # + class GetOrganizationStatisticsResponse < Struct.new( + :organization_details) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] detector_id # The unique ID of the detector of the GuardDuty member account. # @return [String] @@ -5603,6 +5627,28 @@ class OrganizationDataSourceConfigurationsResult < Struct.new( include Aws::Structure end + # Information about GuardDuty coverage statistics for members in your + # Amazon Web Services organization. + # + # @!attribute [rw] updated_at + # The timestamp at which the organization statistics was last updated. + # This is in UTC format. + # @return [Time] + # + # @!attribute [rw] organization_statistics + # Information about the GuardDuty coverage statistics for members in + # your Amazon Web Services organization. + # @return [Types::OrganizationStatistics] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationDetails AWS API Documentation + # + class OrganizationDetails < Struct.new( + :updated_at, + :organization_statistics) + SENSITIVE = [] + include Aws::Structure + end + # Organization-wide EBS volumes scan configuration. # # @!attribute [rw] auto_enable @@ -5716,6 +5762,52 @@ class OrganizationFeatureConfigurationResult < Struct.new( include Aws::Structure end + # Information about the number of accounts that have enabled a specific + # feature. + # + # @!attribute [rw] name + # Name of the feature. + # @return [String] + # + # @!attribute [rw] enabled_accounts_count + # Total number of accounts that have enabled a specific feature. + # @return [Integer] + # + # @!attribute [rw] additional_configuration + # Name of the additional configuration. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationFeatureStatistics AWS API Documentation + # + class OrganizationFeatureStatistics < Struct.new( + :name, + :enabled_accounts_count, + :additional_configuration) + SENSITIVE = [] + include Aws::Structure + end + + # Information about the coverage statistic for the additional + # configuration of the feature. + # + # @!attribute [rw] name + # Name of the additional configuration within a feature. + # @return [String] + # + # @!attribute [rw] enabled_accounts_count + # Total number of accounts that have enabled the additional + # configuration. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationFeatureStatisticsAdditionalConfiguration AWS API Documentation + # + class OrganizationFeatureStatisticsAdditionalConfiguration < Struct.new( + :name, + :enabled_accounts_count) + SENSITIVE = [] + include Aws::Structure + end + # Organization-wide Kubernetes audit logs configuration. # # @!attribute [rw] auto_enable @@ -5873,6 +5965,47 @@ class OrganizationScanEc2InstanceWithFindingsResult < Struct.new( include Aws::Structure end + # Information about the coverage statistics of the features for the + # entire Amazon Web Services organization. + # + # When you create a new Amazon Web Services organization, it might take + # up to 24 hours to generate the statistics summary for this + # organization. + # + # @!attribute [rw] total_accounts_count + # Total number of accounts in your Amazon Web Services organization. + # @return [Integer] + # + # @!attribute [rw] member_accounts_count + # Total number of accounts in your Amazon Web Services organization + # that are associated with GuardDuty. + # @return [Integer] + # + # @!attribute [rw] active_accounts_count + # Total number of active accounts in your Amazon Web Services + # organization that are associated with GuardDuty. + # @return [Integer] + # + # @!attribute [rw] enabled_accounts_count + # Total number of accounts that have enabled GuardDuty. + # @return [Integer] + # + # @!attribute [rw] count_by_feature + # Retrieves the coverage statistics for each feature. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationStatistics AWS API Documentation + # + class OrganizationStatistics < Struct.new( + :total_accounts_count, + :member_accounts_count, + :active_accounts_count, + :enabled_accounts_count, + :count_by_feature) + SENSITIVE = [] + include Aws::Structure + end + # Contains information on the owner of the bucket. # # @!attribute [rw] id @@ -7853,6 +7986,13 @@ class UsageResourceResult < Struct.new( # The usage statistic sum organized by account ID. # @return [Array] # + # @!attribute [rw] top_accounts_by_feature + # Lists the top 50 accounts by feature that have generated the most + # GuardDuty usage, in the order from most to least expensive. + # + # Currently, this doesn't support `RDS_LOGIN_EVENTS`. + # @return [Array] + # # @!attribute [rw] sum_by_data_source # The usage statistic sum organized by on data source. # @return [Array] @@ -7874,6 +8014,7 @@ class UsageResourceResult < Struct.new( # class UsageStatistics < Struct.new( :sum_by_account, + :top_accounts_by_feature, :sum_by_data_source, :sum_by_resource, :top_resources, @@ -7882,6 +8023,50 @@ class UsageStatistics < Struct.new( include Aws::Structure end + # Contains information on the total of usage based on the topmost 50 + # account IDs. + # + # @!attribute [rw] account_id + # The unique account ID. + # @return [String] + # + # @!attribute [rw] total + # Contains the total usage with the corresponding currency unit for + # that value. + # @return [Types::Total] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageTopAccountResult AWS API Documentation + # + class UsageTopAccountResult < Struct.new( + :account_id, + :total) + SENSITIVE = [] + include Aws::Structure + end + + # Information about the usage statistics, calculated by top accounts by + # feature. + # + # @!attribute [rw] feature + # Features by which you can generate the usage statistics. + # + # `RDS_LOGIN_EVENTS` is currently not supported with + # `topAccountsByFeature`. + # @return [String] + # + # @!attribute [rw] accounts + # The accounts that contributed to the total usage cost. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageTopAccountsResult AWS API Documentation + # + class UsageTopAccountsResult < Struct.new( + :feature, + :accounts) + SENSITIVE = [] + include Aws::Structure + end + # Volume used by the Kubernetes workload. # # @!attribute [rw] name diff --git a/gems/aws-sdk-managedblockchainquery/CHANGELOG.md b/gems/aws-sdk-managedblockchainquery/CHANGELOG.md index 8b6ac92a9c7..ad56fe689d5 100644 --- a/gems/aws-sdk-managedblockchainquery/CHANGELOG.md +++ b/gems/aws-sdk-managedblockchainquery/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.6.0 (2023-12-20) +------------------ + +* Feature - Adding Confirmation Status and Execution Status to GetTransaction Response. + 1.5.0 (2023-11-28) ------------------ diff --git a/gems/aws-sdk-managedblockchainquery/VERSION b/gems/aws-sdk-managedblockchainquery/VERSION index bc80560fad6..dc1e644a101 100644 --- a/gems/aws-sdk-managedblockchainquery/VERSION +++ b/gems/aws-sdk-managedblockchainquery/VERSION @@ -1 +1 @@ -1.5.0 +1.6.0 diff --git a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery.rb b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery.rb index 080e33ed6a1..b26d5da37a5 100644 --- a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery.rb +++ b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery.rb @@ -53,6 +53,6 @@ # @!group service module Aws::ManagedBlockchainQuery - GEM_VERSION = '1.5.0' + GEM_VERSION = '1.6.0' end diff --git a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client.rb b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client.rb index 642de81ac0f..378f529467a 100644 --- a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client.rb +++ b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client.rb @@ -411,7 +411,7 @@ def initialize(*args) # get_token_balance_inputs: [ # { # token_identifier: { # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # contract_address: "ChainAddress", # token_id: "QueryTokenId", # }, @@ -429,14 +429,14 @@ def initialize(*args) # # resp.token_balances #=> Array # resp.token_balances[0].owner_identifier.address #=> String - # resp.token_balances[0].token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.token_balances[0].token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.token_balances[0].token_identifier.contract_address #=> String # resp.token_balances[0].token_identifier.token_id #=> String # resp.token_balances[0].balance #=> String # resp.token_balances[0].at_blockchain_instant.time #=> Time # resp.token_balances[0].last_updated_time.time #=> Time # resp.errors #=> Array - # resp.errors[0].token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.errors[0].token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.errors[0].token_identifier.contract_address #=> String # resp.errors[0].token_identifier.token_id #=> String # resp.errors[0].owner_identifier.address #=> String @@ -479,14 +479,14 @@ def batch_get_token_balance(params = {}, options = {}) # # resp = client.get_asset_contract({ # contract_identifier: { # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # contract_address: "ChainAddress", # required # }, # }) # # @example Response structure # - # resp.contract_identifier.network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.contract_identifier.network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.contract_identifier.contract_address #=> String # resp.token_standard #=> String, one of "ERC20", "ERC721", "ERC1155" # resp.deployer_address #=> String @@ -538,7 +538,7 @@ def get_asset_contract(params = {}, options = {}) # # resp = client.get_token_balance({ # token_identifier: { # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # contract_address: "ChainAddress", # token_id: "QueryTokenId", # }, @@ -553,7 +553,7 @@ def get_asset_contract(params = {}, options = {}) # @example Response structure # # resp.owner_identifier.address #=> String - # resp.token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.token_identifier.contract_address #=> String # resp.token_identifier.token_id #=> String # resp.balance #=> String @@ -586,12 +586,12 @@ def get_token_balance(params = {}, options = {}) # # resp = client.get_transaction({ # transaction_hash: "QueryTransactionHash", # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # }) # # @example Response structure # - # resp.transaction.network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.transaction.network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.transaction.block_hash #=> String # resp.transaction.transaction_hash #=> String # resp.transaction.block_number #=> String @@ -610,6 +610,8 @@ def get_token_balance(params = {}, options = {}) # resp.transaction.signature_s #=> String # resp.transaction.transaction_fee #=> String # resp.transaction.transaction_id #=> String + # resp.transaction.confirmation_status #=> String, one of "FINAL" + # resp.transaction.execution_status #=> String, one of "FAILED", "SUCCEEDED" # # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-query-2023-05-04/GetTransaction AWS API Documentation # @@ -646,7 +648,7 @@ def get_transaction(params = {}, options = {}) # # resp = client.list_asset_contracts({ # contract_filter: { # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # token_standard: "ERC20", # required, accepts ERC20, ERC721, ERC1155 # deployer_address: "ChainAddress", # required # }, @@ -657,7 +659,7 @@ def get_transaction(params = {}, options = {}) # @example Response structure # # resp.contracts #=> Array - # resp.contracts[0].contract_identifier.network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.contracts[0].contract_identifier.network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.contracts[0].contract_identifier.contract_address #=> String # resp.contracts[0].token_standard #=> String, one of "ERC20", "ERC721", "ERC1155" # resp.contracts[0].deployer_address #=> String @@ -722,7 +724,7 @@ def list_asset_contracts(params = {}, options = {}) # address: "ChainAddress", # required # }, # token_filter: { # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # contract_address: "ChainAddress", # token_id: "QueryTokenId", # }, @@ -734,7 +736,7 @@ def list_asset_contracts(params = {}, options = {}) # # resp.token_balances #=> Array # resp.token_balances[0].owner_identifier.address #=> String - # resp.token_balances[0].token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.token_balances[0].token_identifier.network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.token_balances[0].token_identifier.contract_address #=> String # resp.token_balances[0].token_identifier.token_id #=> String # resp.token_balances[0].balance #=> String @@ -788,7 +790,7 @@ def list_token_balances(params = {}, options = {}) # # resp = client.list_transaction_events({ # transaction_hash: "QueryTransactionHash", # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # next_token: "NextToken", # max_results: 1, # }) @@ -796,7 +798,7 @@ def list_token_balances(params = {}, options = {}) # @example Response structure # # resp.events #=> Array - # resp.events[0].network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.events[0].network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.events[0].transaction_hash #=> String # resp.events[0].event_type #=> String, one of "ERC20_TRANSFER", "ERC20_MINT", "ERC20_BURN", "ERC20_DEPOSIT", "ERC20_WITHDRAWAL", "ERC721_TRANSFER", "ERC1155_TRANSFER", "BITCOIN_VIN", "BITCOIN_VOUT", "INTERNAL_ETH_TRANSFER", "ETH_TRANSFER" # resp.events[0].from #=> String @@ -865,7 +867,7 @@ def list_transaction_events(params = {}, options = {}) # # resp = client.list_transactions({ # address: "ChainAddress", # required - # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, BITCOIN_MAINNET, BITCOIN_TESTNET, ETHEREUM_SEPOLIA_TESTNET + # network: "ETHEREUM_MAINNET", # required, accepts ETHEREUM_MAINNET, ETHEREUM_SEPOLIA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET # from_blockchain_instant: { # time: Time.now, # }, @@ -884,7 +886,7 @@ def list_transaction_events(params = {}, options = {}) # # resp.transactions #=> Array # resp.transactions[0].transaction_hash #=> String - # resp.transactions[0].network #=> String, one of "ETHEREUM_MAINNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET", "ETHEREUM_SEPOLIA_TESTNET" + # resp.transactions[0].network #=> String, one of "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" # resp.transactions[0].transaction_timestamp #=> Time # resp.next_token #=> String # @@ -910,7 +912,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-managedblockchainquery' - context[:gem_version] = '1.5.0' + context[:gem_version] = '1.6.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client_api.rb b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client_api.rb index 0e6b5bb9f79..4d5bc317a22 100644 --- a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client_api.rb +++ b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/client_api.rb @@ -26,11 +26,13 @@ module ClientApi BlockHash = Shapes::StringShape.new(name: 'BlockHash') BlockchainInstant = Shapes::StructureShape.new(name: 'BlockchainInstant') ChainAddress = Shapes::StringShape.new(name: 'ChainAddress') + ConfirmationStatus = Shapes::StringShape.new(name: 'ConfirmationStatus') ContractFilter = Shapes::StructureShape.new(name: 'ContractFilter') ContractIdentifier = Shapes::StructureShape.new(name: 'ContractIdentifier') ContractMetadata = Shapes::StructureShape.new(name: 'ContractMetadata') ErrorType = Shapes::StringShape.new(name: 'ErrorType') ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage') + ExecutionStatus = Shapes::StringShape.new(name: 'ExecutionStatus') GetAssetContractInput = Shapes::StructureShape.new(name: 'GetAssetContractInput') GetAssetContractOutput = Shapes::StructureShape.new(name: 'GetAssetContractOutput') GetTokenBalanceInput = Shapes::StructureShape.new(name: 'GetTokenBalanceInput') @@ -276,7 +278,7 @@ module ClientApi Transaction.add_member(:transaction_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "transactionTimestamp")) Transaction.add_member(:transaction_index, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "transactionIndex")) Transaction.add_member(:number_of_transactions, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "numberOfTransactions")) - Transaction.add_member(:status, Shapes::ShapeRef.new(shape: QueryTransactionStatus, required: true, location_name: "status")) + Transaction.add_member(:status, Shapes::ShapeRef.new(shape: QueryTransactionStatus, deprecated: true, location_name: "status", metadata: {"deprecatedMessage"=>"The status field in the GetTransaction response is deprecated and is replaced with the confirmationStatus and executionStatus fields."})) Transaction.add_member(:to, Shapes::ShapeRef.new(shape: ChainAddress, required: true, location_name: "to")) Transaction.add_member(:from, Shapes::ShapeRef.new(shape: ChainAddress, location_name: "from")) Transaction.add_member(:contract_address, Shapes::ShapeRef.new(shape: ChainAddress, location_name: "contractAddress")) @@ -288,6 +290,8 @@ module ClientApi Transaction.add_member(:signature_s, Shapes::ShapeRef.new(shape: String, location_name: "signatureS")) Transaction.add_member(:transaction_fee, Shapes::ShapeRef.new(shape: String, location_name: "transactionFee")) Transaction.add_member(:transaction_id, Shapes::ShapeRef.new(shape: String, location_name: "transactionId")) + Transaction.add_member(:confirmation_status, Shapes::ShapeRef.new(shape: ConfirmationStatus, location_name: "confirmationStatus")) + Transaction.add_member(:execution_status, Shapes::ShapeRef.new(shape: ExecutionStatus, location_name: "executionStatus")) Transaction.struct_class = Types::Transaction TransactionEvent.add_member(:network, Shapes::ShapeRef.new(shape: QueryNetwork, required: true, location_name: "network")) diff --git a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/types.rb b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/types.rb index 4cf8aae6c75..7d0d83d9fb0 100644 --- a/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/types.rb +++ b/gems/aws-sdk-managedblockchainquery/lib/aws-sdk-managedblockchainquery/types.rb @@ -963,6 +963,18 @@ class TokenIdentifier < Struct.new( # # @!attribute [rw] status # The status of the transaction. + # + # This property is deprecated. You must use the `confirmationStatus` + # and the `executionStatus` properties to determine if the `status` of + # the transaction is `FINAL` or `FAILED`. + # + # * Transactions with a `status` of `FINAL` will now have the + # `confirmationStatus` set to `FINAL` and the `executionStatus` set + # to `SUCCEEDED`. + # + # * Transactions with a `status` of `FAILED` will now have the + # `confirmationStatus` set to `FINAL` and the `executionStatus` set + # to `FAILED`. # @return [String] # # @!attribute [rw] to @@ -1012,6 +1024,14 @@ class TokenIdentifier < Struct.new( # transaction is verified and added to the blockchain. # @return [String] # + # @!attribute [rw] confirmation_status + # Specifies whether the transaction has reached Finality. + # @return [String] + # + # @!attribute [rw] execution_status + # Identifies whether the transaction has succeeded or failed. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-query-2023-05-04/Transaction AWS API Documentation # class Transaction < Struct.new( @@ -1033,7 +1053,9 @@ class Transaction < Struct.new( :signature_r, :signature_s, :transaction_fee, - :transaction_id) + :transaction_id, + :confirmation_status, + :execution_status) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-mediatailor/CHANGELOG.md b/gems/aws-sdk-mediatailor/CHANGELOG.md index d9bb4674941..4c7a5fb5af4 100644 --- a/gems/aws-sdk-mediatailor/CHANGELOG.md +++ b/gems/aws-sdk-mediatailor/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.75.0 (2023-12-20) +------------------ + +* Feature - Adds the ability to configure time shifting on MediaTailor channels using the TimeShiftConfiguration field + 1.74.0 (2023-11-28) ------------------ diff --git a/gems/aws-sdk-mediatailor/VERSION b/gems/aws-sdk-mediatailor/VERSION index dc87e8af82f..7c7053aa238 100644 --- a/gems/aws-sdk-mediatailor/VERSION +++ b/gems/aws-sdk-mediatailor/VERSION @@ -1 +1 @@ -1.74.0 +1.75.0 diff --git a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor.rb b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor.rb index e42be3375a9..6978afb42b0 100644 --- a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor.rb +++ b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor.rb @@ -52,6 +52,6 @@ # @!group service module Aws::MediaTailor - GEM_VERSION = '1.74.0' + GEM_VERSION = '1.75.0' end diff --git a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client.rb b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client.rb index c6d25981bd2..c3ecec9bc15 100644 --- a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client.rb +++ b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client.rb @@ -511,6 +511,10 @@ def configure_logs_for_playback_configuration(params = {}, options = {}) # @option params [String] :tier # The tier of the channel. # + # @option params [Types::TimeShiftConfiguration] :time_shift_configuration + # The time-shifted viewing configuration you want to associate to the + # channel. + # # @return [Types::CreateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateChannelResponse#arn #arn} => String @@ -523,6 +527,7 @@ def configure_logs_for_playback_configuration(params = {}, options = {}) # * {Types::CreateChannelResponse#playback_mode #playback_mode} => String # * {Types::CreateChannelResponse#tags #tags} => Hash<String,String> # * {Types::CreateChannelResponse#tier #tier} => String + # * {Types::CreateChannelResponse#time_shift_configuration #time_shift_configuration} => Types::TimeShiftConfiguration # # @example Request syntax with placeholder values # @@ -553,6 +558,9 @@ def configure_logs_for_playback_configuration(params = {}, options = {}) # "__string" => "__string", # }, # tier: "BASIC", # accepts BASIC, STANDARD + # time_shift_configuration: { + # max_time_delay_seconds: 1, # required + # }, # }) # # @example Response structure @@ -579,6 +587,7 @@ def configure_logs_for_playback_configuration(params = {}, options = {}) # resp.tags #=> Hash # resp.tags["__string"] #=> String # resp.tier #=> String + # resp.time_shift_configuration.max_time_delay_seconds #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/CreateChannel AWS API Documentation # @@ -1318,6 +1327,7 @@ def delete_vod_source(params = {}, options = {}) # * {Types::DescribeChannelResponse#playback_mode #playback_mode} => String # * {Types::DescribeChannelResponse#tags #tags} => Hash<String,String> # * {Types::DescribeChannelResponse#tier #tier} => String + # * {Types::DescribeChannelResponse#time_shift_configuration #time_shift_configuration} => Types::TimeShiftConfiguration # # @example Request syntax with placeholder values # @@ -1351,6 +1361,7 @@ def delete_vod_source(params = {}, options = {}) # resp.tags #=> Hash # resp.tags["__string"] #=> String # resp.tier #=> String + # resp.time_shift_configuration.max_time_delay_seconds #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/DescribeChannel AWS API Documentation # @@ -2686,6 +2697,10 @@ def untag_resource(params = {}, options = {}) # @option params [required, Array] :outputs # The channel's output properties. # + # @option params [Types::TimeShiftConfiguration] :time_shift_configuration + # The time-shifted viewing configuration you want to associate to the + # channel. + # # @return [Types::UpdateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateChannelResponse#arn #arn} => String @@ -2698,6 +2713,7 @@ def untag_resource(params = {}, options = {}) # * {Types::UpdateChannelResponse#playback_mode #playback_mode} => String # * {Types::UpdateChannelResponse#tags #tags} => Hash<String,String> # * {Types::UpdateChannelResponse#tier #tier} => String + # * {Types::UpdateChannelResponse#time_shift_configuration #time_shift_configuration} => Types::TimeShiftConfiguration # # @example Request syntax with placeholder values # @@ -2723,6 +2739,9 @@ def untag_resource(params = {}, options = {}) # source_group: "__string", # required # }, # ], + # time_shift_configuration: { + # max_time_delay_seconds: 1, # required + # }, # }) # # @example Response structure @@ -2749,6 +2768,7 @@ def untag_resource(params = {}, options = {}) # resp.tags #=> Hash # resp.tags["__string"] #=> String # resp.tier #=> String + # resp.time_shift_configuration.max_time_delay_seconds #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/UpdateChannel AWS API Documentation # @@ -3103,7 +3123,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-mediatailor' - context[:gem_version] = '1.74.0' + context[:gem_version] = '1.75.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client_api.rb b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client_api.rb index 831e88f865e..aa93e5237a8 100644 --- a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client_api.rb +++ b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/client_api.rb @@ -156,6 +156,7 @@ module ClientApi String = Shapes::StringShape.new(name: 'String') TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest') Tier = Shapes::StringShape.new(name: 'Tier') + TimeShiftConfiguration = Shapes::StructureShape.new(name: 'TimeShiftConfiguration') TimeSignalMessage = Shapes::StructureShape.new(name: 'TimeSignalMessage') Transition = Shapes::StructureShape.new(name: 'Transition') Type = Shapes::StringShape.new(name: 'Type') @@ -290,6 +291,7 @@ module ClientApi CreateChannelRequest.add_member(:playback_mode, Shapes::ShapeRef.new(shape: PlaybackMode, required: true, location_name: "PlaybackMode")) CreateChannelRequest.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOf__string, location_name: "tags")) CreateChannelRequest.add_member(:tier, Shapes::ShapeRef.new(shape: Tier, location_name: "Tier")) + CreateChannelRequest.add_member(:time_shift_configuration, Shapes::ShapeRef.new(shape: TimeShiftConfiguration, location_name: "TimeShiftConfiguration")) CreateChannelRequest.struct_class = Types::CreateChannelRequest CreateChannelResponse.add_member(:arn, Shapes::ShapeRef.new(shape: __string, location_name: "Arn")) @@ -302,6 +304,7 @@ module ClientApi CreateChannelResponse.add_member(:playback_mode, Shapes::ShapeRef.new(shape: __string, location_name: "PlaybackMode")) CreateChannelResponse.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOf__string, location_name: "tags")) CreateChannelResponse.add_member(:tier, Shapes::ShapeRef.new(shape: __string, location_name: "Tier")) + CreateChannelResponse.add_member(:time_shift_configuration, Shapes::ShapeRef.new(shape: TimeShiftConfiguration, location_name: "TimeShiftConfiguration")) CreateChannelResponse.struct_class = Types::CreateChannelResponse CreateLiveSourceRequest.add_member(:http_package_configurations, Shapes::ShapeRef.new(shape: HttpPackageConfigurations, required: true, location_name: "HttpPackageConfigurations")) @@ -466,6 +469,7 @@ module ClientApi DescribeChannelResponse.add_member(:playback_mode, Shapes::ShapeRef.new(shape: __string, location_name: "PlaybackMode")) DescribeChannelResponse.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOf__string, location_name: "tags")) DescribeChannelResponse.add_member(:tier, Shapes::ShapeRef.new(shape: __string, location_name: "Tier")) + DescribeChannelResponse.add_member(:time_shift_configuration, Shapes::ShapeRef.new(shape: TimeShiftConfiguration, location_name: "TimeShiftConfiguration")) DescribeChannelResponse.struct_class = Types::DescribeChannelResponse DescribeLiveSourceRequest.add_member(:live_source_name, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "LiveSourceName")) @@ -867,6 +871,9 @@ module ClientApi TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOf__string, required: true, location_name: "tags")) TagResourceRequest.struct_class = Types::TagResourceRequest + TimeShiftConfiguration.add_member(:max_time_delay_seconds, Shapes::ShapeRef.new(shape: __integer, required: true, location_name: "MaxTimeDelaySeconds")) + TimeShiftConfiguration.struct_class = Types::TimeShiftConfiguration + TimeSignalMessage.add_member(:segmentation_descriptors, Shapes::ShapeRef.new(shape: SegmentationDescriptorList, location_name: "SegmentationDescriptors")) TimeSignalMessage.struct_class = Types::TimeSignalMessage @@ -884,6 +891,7 @@ module ClientApi UpdateChannelRequest.add_member(:channel_name, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "ChannelName")) UpdateChannelRequest.add_member(:filler_slate, Shapes::ShapeRef.new(shape: SlateSource, location_name: "FillerSlate")) UpdateChannelRequest.add_member(:outputs, Shapes::ShapeRef.new(shape: RequestOutputs, required: true, location_name: "Outputs")) + UpdateChannelRequest.add_member(:time_shift_configuration, Shapes::ShapeRef.new(shape: TimeShiftConfiguration, location_name: "TimeShiftConfiguration")) UpdateChannelRequest.struct_class = Types::UpdateChannelRequest UpdateChannelResponse.add_member(:arn, Shapes::ShapeRef.new(shape: __string, location_name: "Arn")) @@ -896,6 +904,7 @@ module ClientApi UpdateChannelResponse.add_member(:playback_mode, Shapes::ShapeRef.new(shape: __string, location_name: "PlaybackMode")) UpdateChannelResponse.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOf__string, location_name: "tags")) UpdateChannelResponse.add_member(:tier, Shapes::ShapeRef.new(shape: __string, location_name: "Tier")) + UpdateChannelResponse.add_member(:time_shift_configuration, Shapes::ShapeRef.new(shape: TimeShiftConfiguration, location_name: "TimeShiftConfiguration")) UpdateChannelResponse.struct_class = Types::UpdateChannelResponse UpdateLiveSourceRequest.add_member(:http_package_configurations, Shapes::ShapeRef.new(shape: HttpPackageConfigurations, required: true, location_name: "HttpPackageConfigurations")) diff --git a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/types.rb b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/types.rb index 3578f457da3..843c401499d 100644 --- a/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/types.rb +++ b/gems/aws-sdk-mediatailor/lib/aws-sdk-mediatailor/types.rb @@ -614,6 +614,11 @@ class ConfigureLogsForPlaybackConfigurationResponse < Struct.new( # The tier of the channel. # @return [String] # + # @!attribute [rw] time_shift_configuration + # The time-shifted viewing configuration you want to associate to the + # channel. + # @return [Types::TimeShiftConfiguration] + # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/CreateChannelRequest AWS API Documentation # class CreateChannelRequest < Struct.new( @@ -622,7 +627,8 @@ class CreateChannelRequest < Struct.new( :outputs, :playback_mode, :tags, - :tier) + :tier, + :time_shift_configuration) SENSITIVE = [] include Aws::Structure end @@ -675,6 +681,10 @@ class CreateChannelRequest < Struct.new( # The tier of the channel. # @return [String] # + # @!attribute [rw] time_shift_configuration + # The time-shifted viewing configuration assigned to the channel. + # @return [Types::TimeShiftConfiguration] + # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/CreateChannelResponse AWS API Documentation # class CreateChannelResponse < Struct.new( @@ -687,7 +697,8 @@ class CreateChannelResponse < Struct.new( :outputs, :playback_mode, :tags, - :tier) + :tier, + :time_shift_configuration) SENSITIVE = [] include Aws::Structure end @@ -1508,6 +1519,10 @@ class DescribeChannelRequest < Struct.new( # The channel's tier. # @return [String] # + # @!attribute [rw] time_shift_configuration + # The time-shifted viewing configuration for the channel. + # @return [Types::TimeShiftConfiguration] + # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/DescribeChannelResponse AWS API Documentation # class DescribeChannelResponse < Struct.new( @@ -1521,7 +1536,8 @@ class DescribeChannelResponse < Struct.new( :outputs, :playback_mode, :tags, - :tier) + :tier, + :time_shift_configuration) SENSITIVE = [] include Aws::Structure end @@ -3867,6 +3883,22 @@ class TagResourceRequest < Struct.new( include Aws::Structure end + # The configuration for time-shifted viewing. + # + # @!attribute [rw] max_time_delay_seconds + # The maximum time delay for time-shifted viewing. The minimum allowed + # maximum time delay is 0 seconds, and the maximum allowed maximum + # time delay is 21600 seconds (6 hours). + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/TimeShiftConfiguration AWS API Documentation + # + class TimeShiftConfiguration < Struct.new( + :max_time_delay_seconds) + SENSITIVE = [] + include Aws::Structure + end + # The SCTE-35 `time_signal` message can be sent with one or more # `segmentation_descriptor` messages. A `time_signal` message can be # sent only if a single `segmentation_descriptor` message is sent. @@ -3978,12 +4010,18 @@ class UntagResourceRequest < Struct.new( # The channel's output properties. # @return [Array] # + # @!attribute [rw] time_shift_configuration + # The time-shifted viewing configuration you want to associate to the + # channel. + # @return [Types::TimeShiftConfiguration] + # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/UpdateChannelRequest AWS API Documentation # class UpdateChannelRequest < Struct.new( :channel_name, :filler_slate, - :outputs) + :outputs, + :time_shift_configuration) SENSITIVE = [] include Aws::Structure end @@ -4044,6 +4082,10 @@ class UpdateChannelRequest < Struct.new( # The tier associated with this Channel. # @return [String] # + # @!attribute [rw] time_shift_configuration + # The time-shifted viewing configuration for the channel. + # @return [Types::TimeShiftConfiguration] + # # @see http://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/UpdateChannelResponse AWS API Documentation # class UpdateChannelResponse < Struct.new( @@ -4056,7 +4098,8 @@ class UpdateChannelResponse < Struct.new( :outputs, :playback_mode, :tags, - :tier) + :tier, + :time_shift_configuration) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-route53/CHANGELOG.md b/gems/aws-sdk-route53/CHANGELOG.md index 8e02b4b3238..c7f9acaed1b 100644 --- a/gems/aws-sdk-route53/CHANGELOG.md +++ b/gems/aws-sdk-route53/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.84.0 (2023-12-20) +------------------ + +* Feature - Amazon Route 53 now supports the Canada West (Calgary) Region (ca-west-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. + 1.83.0 (2023-11-28) ------------------ diff --git a/gems/aws-sdk-route53/VERSION b/gems/aws-sdk-route53/VERSION index 6b4de0a42b0..bd0f9e6c28f 100644 --- a/gems/aws-sdk-route53/VERSION +++ b/gems/aws-sdk-route53/VERSION @@ -1 +1 @@ -1.83.0 +1.84.0 diff --git a/gems/aws-sdk-route53/lib/aws-sdk-route53.rb b/gems/aws-sdk-route53/lib/aws-sdk-route53.rb index 715c352ac47..c09062d71b2 100644 --- a/gems/aws-sdk-route53/lib/aws-sdk-route53.rb +++ b/gems/aws-sdk-route53/lib/aws-sdk-route53.rb @@ -53,6 +53,6 @@ # @!group service module Aws::Route53 - GEM_VERSION = '1.83.0' + GEM_VERSION = '1.84.0' end diff --git a/gems/aws-sdk-route53/lib/aws-sdk-route53/client.rb b/gems/aws-sdk-route53/lib/aws-sdk-route53/client.rb index 6c9f29d6714..2c5d0b44162 100644 --- a/gems/aws-sdk-route53/lib/aws-sdk-route53/client.rb +++ b/gems/aws-sdk-route53/lib/aws-sdk-route53/client.rb @@ -511,7 +511,7 @@ def activate_key_signing_key(params = {}, options = {}) # resp = client.associate_vpc_with_hosted_zone({ # hosted_zone_id: "ResourceId", # required # vpc: { # required - # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1 + # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1, ca-west-1 # vpc_id: "VPCId", # }, # comment: "AssociateVPCComment", @@ -1318,7 +1318,7 @@ def change_cidr_collection(params = {}, options = {}) # type: "SOA", # required, accepts SOA, A, TXT, NS, CNAME, MX, NAPTR, PTR, SRV, SPF, AAAA, CAA, DS # set_identifier: "ResourceRecordSetIdentifier", # weight: 1, - # region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, cn-north-1, cn-northwest-1, ap-east-1, me-south-1, me-central-1, ap-south-1, ap-south-2, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1 + # region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, cn-north-1, cn-northwest-1, ap-east-1, me-south-1, me-central-1, ap-south-1, ap-south-2, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1, ca-west-1 # geo_location: { # continent_code: "GeoLocationContinentCode", # country_code: "GeoLocationCountryCode", @@ -1586,7 +1586,7 @@ def create_cidr_collection(params = {}, options = {}) # enable_sni: false, # regions: ["us-east-1"], # accepts us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1 # alarm_identifier: { - # region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-central-1, eu-central-2, eu-west-1, eu-west-2, eu-west-3, ap-east-1, me-south-1, me-central-1, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, cn-northwest-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, ap-southeast-4, il-central-1 + # region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-central-1, eu-central-2, eu-west-1, eu-west-2, eu-west-3, ap-east-1, me-south-1, me-central-1, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, cn-northwest-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, ap-southeast-4, il-central-1, ca-west-1 # name: "AlarmName", # required # }, # insufficient_data_health_status: "Healthy", # accepts Healthy, Unhealthy, LastKnownStatus @@ -1617,7 +1617,7 @@ def create_cidr_collection(params = {}, options = {}) # resp.health_check.health_check_config.enable_sni #=> Boolean # resp.health_check.health_check_config.regions #=> Array # resp.health_check.health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1" - # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1" + # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.health_check.health_check_config.alarm_identifier.name #=> String # resp.health_check.health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus" # resp.health_check.health_check_config.routing_control_arn #=> String @@ -1788,7 +1788,7 @@ def create_health_check(params = {}, options = {}) # resp = client.create_hosted_zone({ # name: "DNSName", # required # vpc: { - # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1 + # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1, ca-west-1 # vpc_id: "VPCId", # }, # caller_reference: "Nonce", # required @@ -1817,7 +1817,7 @@ def create_health_check(params = {}, options = {}) # resp.delegation_set.caller_reference #=> String # resp.delegation_set.name_servers #=> Array # resp.delegation_set.name_servers[0] #=> String - # resp.vpc.vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1" + # resp.vpc.vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.vpc.vpc_id #=> String # resp.location #=> String # @@ -2455,7 +2455,7 @@ def create_traffic_policy_version(params = {}, options = {}) # resp = client.create_vpc_association_authorization({ # hosted_zone_id: "ResourceId", # required # vpc: { # required - # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1 + # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1, ca-west-1 # vpc_id: "VPCId", # }, # }) @@ -2463,7 +2463,7 @@ def create_traffic_policy_version(params = {}, options = {}) # @example Response structure # # resp.hosted_zone_id #=> String - # resp.vpc.vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1" + # resp.vpc.vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.vpc.vpc_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateVPCAssociationAuthorization AWS API Documentation @@ -2881,7 +2881,7 @@ def delete_traffic_policy_instance(params = {}, options = {}) # resp = client.delete_vpc_association_authorization({ # hosted_zone_id: "ResourceId", # required # vpc: { # required - # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1 + # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1, ca-west-1 # vpc_id: "VPCId", # }, # }) @@ -2994,7 +2994,7 @@ def disable_hosted_zone_dnssec(params = {}, options = {}) # resp = client.disassociate_vpc_from_hosted_zone({ # hosted_zone_id: "ResourceId", # required # vpc: { # required - # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1 + # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1, ca-west-1 # vpc_id: "VPCId", # }, # comment: "DisassociateVPCComment", @@ -3373,7 +3373,7 @@ def get_geo_location(params = {}, options = {}) # resp.health_check.health_check_config.enable_sni #=> Boolean # resp.health_check.health_check_config.regions #=> Array # resp.health_check.health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1" - # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1" + # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.health_check.health_check_config.alarm_identifier.name #=> String # resp.health_check.health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus" # resp.health_check.health_check_config.routing_control_arn #=> String @@ -3567,7 +3567,7 @@ def get_health_check_status(params = {}, options = {}) # resp.delegation_set.name_servers #=> Array # resp.delegation_set.name_servers[0] #=> String # resp.vp_cs #=> Array - # resp.vp_cs[0].vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1" + # resp.vp_cs[0].vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.vp_cs[0].vpc_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZone AWS API Documentation @@ -4180,7 +4180,7 @@ def list_geo_locations(params = {}, options = {}) # resp.health_checks[0].health_check_config.enable_sni #=> Boolean # resp.health_checks[0].health_check_config.regions #=> Array # resp.health_checks[0].health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1" - # resp.health_checks[0].health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1" + # resp.health_checks[0].health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.health_checks[0].health_check_config.alarm_identifier.name #=> String # resp.health_checks[0].health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus" # resp.health_checks[0].health_check_config.routing_control_arn #=> String @@ -4494,7 +4494,7 @@ def list_hosted_zones_by_name(params = {}, options = {}) # # resp = client.list_hosted_zones_by_vpc({ # vpc_id: "VPCId", # required - # vpc_region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1 + # vpc_region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-central-2, ap-east-1, me-south-1, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, me-central-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-south-1, ap-south-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, ca-central-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, ap-southeast-4, il-central-1, ca-west-1 # max_items: 1, # next_token: "PaginationToken", # }) @@ -4752,7 +4752,7 @@ def list_query_logging_configs(params = {}, options = {}) # resp.resource_record_sets[0].type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA", "CAA", "DS" # resp.resource_record_sets[0].set_identifier #=> String # resp.resource_record_sets[0].weight #=> Integer - # resp.resource_record_sets[0].region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-north-1", "cn-northwest-1", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1" + # resp.resource_record_sets[0].region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-north-1", "cn-northwest-1", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.resource_record_sets[0].geo_location.continent_code #=> String # resp.resource_record_sets[0].geo_location.country_code #=> String # resp.resource_record_sets[0].geo_location.subdivision_code #=> String @@ -5432,7 +5432,7 @@ def list_traffic_policy_versions(params = {}, options = {}) # resp.hosted_zone_id #=> String # resp.next_token #=> String # resp.vp_cs #=> Array - # resp.vp_cs[0].vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1" + # resp.vp_cs[0].vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-central-2", "ap-east-1", "me-south-1", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "me-central-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-south-1", "ap-south-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.vp_cs[0].vpc_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizations AWS API Documentation @@ -5891,7 +5891,7 @@ def test_dns_answer(params = {}, options = {}) # enable_sni: false, # regions: ["us-east-1"], # accepts us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1 # alarm_identifier: { - # region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-central-1, eu-central-2, eu-west-1, eu-west-2, eu-west-3, ap-east-1, me-south-1, me-central-1, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, cn-northwest-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, ap-southeast-4, il-central-1 + # region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-central-1, eu-central-2, eu-west-1, eu-west-2, eu-west-3, ap-east-1, me-south-1, me-central-1, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, eu-north-1, sa-east-1, cn-northwest-1, cn-north-1, af-south-1, eu-south-1, eu-south-2, us-gov-west-1, us-gov-east-1, us-iso-east-1, us-iso-west-1, us-isob-east-1, ap-southeast-4, il-central-1, ca-west-1 # name: "AlarmName", # required # }, # insufficient_data_health_status: "Healthy", # accepts Healthy, Unhealthy, LastKnownStatus @@ -5921,7 +5921,7 @@ def test_dns_answer(params = {}, options = {}) # resp.health_check.health_check_config.enable_sni #=> Boolean # resp.health_check.health_check_config.regions #=> Array # resp.health_check.health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1" - # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1" + # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "ap-east-1", "me-south-1", "me-central-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "eu-north-1", "sa-east-1", "cn-northwest-1", "cn-north-1", "af-south-1", "eu-south-1", "eu-south-2", "us-gov-west-1", "us-gov-east-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1", "ap-southeast-4", "il-central-1", "ca-west-1" # resp.health_check.health_check_config.alarm_identifier.name #=> String # resp.health_check.health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus" # resp.health_check.health_check_config.routing_control_arn #=> String @@ -6124,7 +6124,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-route53' - context[:gem_version] = '1.83.0' + context[:gem_version] = '1.84.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-route53/lib/aws-sdk-route53/types.rb b/gems/aws-sdk-route53/lib/aws-sdk-route53/types.rb index e199b1cebf5..fc890dff604 100644 --- a/gems/aws-sdk-route53/lib/aws-sdk-route53/types.rb +++ b/gems/aws-sdk-route53/lib/aws-sdk-route53/types.rb @@ -6261,12 +6261,6 @@ class ResourceRecord < Struct.new( # You can't use the * wildcard for resource records sets that have # a type of NS. # - # You can use the * wildcard as the leftmost label in a domain name, - # for example, `*.example.com`. You can't use an * for one of the - # middle labels, for example, `marketing.*.example.com`. In addition, - # the * must replace the entire label; for example, you can't - # specify `prod*.example.com`. - # # # # [1]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html diff --git a/gems/aws-sdk-route53/spec/endpoint_provider_spec.rb b/gems/aws-sdk-route53/spec/endpoint_provider_spec.rb index dda3c6606bd..4062f8953a0 100644 --- a/gems/aws-sdk-route53/spec/endpoint_provider_spec.rb +++ b/gems/aws-sdk-route53/spec/endpoint_provider_spec.rb @@ -388,6 +388,34 @@ module Aws::Route53 end end + context 'For region eu-isoe-west-1 with FIPS disabled and DualStack disabled' do + let(:expected) do + {"endpoint"=>{"properties"=>{"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"route53", "signingRegion"=>"eu-isoe-west-1"}]}, "url"=>"https://route53.cloud.adc-e.uk"}} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"eu-isoe-west-1", :use_fips=>false, :use_dual_stack=>false}) + endpoint = subject.resolve_endpoint(params) + expect(endpoint.url).to eq(expected['endpoint']['url']) + expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) + expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) + end + end + + context 'For region us-isof-south-1 with FIPS disabled and DualStack disabled' do + let(:expected) do + {"endpoint"=>{"properties"=>{"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"route53", "signingRegion"=>"us-isof-south-1"}]}, "url"=>"https://route53.csp.hci.ic.gov"}} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"us-isof-south-1", :use_fips=>false, :use_dual_stack=>false}) + endpoint = subject.resolve_endpoint(params) + expect(endpoint.url).to eq(expected['endpoint']['url']) + expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) + expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) + end + end + context 'For custom endpoint with region set and fips disabled and dualstack disabled' do let(:expected) do {"endpoint"=>{"url"=>"https://example.com"}} @@ -455,18 +483,5 @@ module Aws::Route53 end end - context 'Partition doesn't support DualStack' do - let(:expected) do - {"error"=>"DualStack is enabled but this partition does not support DualStack"} - end - - it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>false, :use_dual_stack=>true}) - expect do - subject.resolve_endpoint(params) - end.to raise_error(ArgumentError, expected['error']) - end - end - end end diff --git a/gems/aws-sdk-s3control/CHANGELOG.md b/gems/aws-sdk-s3control/CHANGELOG.md index 689281022cd..62742ebc80b 100644 --- a/gems/aws-sdk-s3control/CHANGELOG.md +++ b/gems/aws-sdk-s3control/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.75.0 (2023-12-20) +------------------ + +* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details. + 1.74.0 (2023-11-28) ------------------ diff --git a/gems/aws-sdk-s3control/VERSION b/gems/aws-sdk-s3control/VERSION index dc87e8af82f..7c7053aa238 100644 --- a/gems/aws-sdk-s3control/VERSION +++ b/gems/aws-sdk-s3control/VERSION @@ -1 +1 @@ -1.74.0 +1.75.0 diff --git a/gems/aws-sdk-s3control/lib/aws-sdk-s3control.rb b/gems/aws-sdk-s3control/lib/aws-sdk-s3control.rb index c55bffc9246..f952eea27fc 100644 --- a/gems/aws-sdk-s3control/lib/aws-sdk-s3control.rb +++ b/gems/aws-sdk-s3control/lib/aws-sdk-s3control.rb @@ -52,6 +52,6 @@ # @!group service module Aws::S3Control - GEM_VERSION = '1.74.0' + GEM_VERSION = '1.75.0' end diff --git a/gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb b/gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb index 9dfa4a2baf8..3c462787979 100644 --- a/gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb +++ b/gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb @@ -7579,7 +7579,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-s3control' - context[:gem_version] = '1.74.0' + context[:gem_version] = '1.75.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-s3control/spec/endpoint_provider_spec.rb b/gems/aws-sdk-s3control/spec/endpoint_provider_spec.rb index a0a720461b9..58d0b230400 100644 --- a/gems/aws-sdk-s3control/spec/endpoint_provider_spec.rb +++ b/gems/aws-sdk-s3control/spec/endpoint_provider_spec.rb @@ -2824,7 +2824,7 @@ module Aws::S3Control resp = client.put_bucket_versioning( bucket: 'arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket', account_id: '123456789012', - versioning_configuration: {"status"=>"Enabled"}, + versioning_configuration: {:status=>"Enabled"}, ) expected_uri = URI.parse(expected['endpoint']['url']) expect(resp.context.http_request.endpoint.to_s).to include(expected_uri.host)