From a3b1ecf0fd6e9931f4cef7bd479179f20f880daa Mon Sep 17 00:00:00 2001 From: AWS SDK For Ruby Date: Fri, 13 Dec 2024 19:24:08 +0000 Subject: [PATCH] Updated API models and rebuilt service gems. --- apis/cloudhsmv2/2017-04-28/api-2.json | 24 +++ apis/cloudhsmv2/2017-04-28/docs-2.json | 19 ++ apis/cloudhsmv2/2017-04-28/smoke-2.json | 16 ++ apis/ec2/2016-11-15/api-2.json | 16 +- apis/ec2/2016-11-15/docs-2.json | 13 +- apis/eks/2017-11-01/api-2.json | 10 + apis/eks/2017-11-01/docs-2.json | 21 ++- apis/logs/2014-03-28/api-2.json | 4 +- apis/mediaconnect/2018-11-14/api-2.json | 21 +++ apis/mediaconnect/2018-11-14/docs-2.json | 8 + apis/networkmanager/2019-07-05/docs-2.json | 2 +- apis/servicediscovery/2017-03-14/api-2.json | 123 +++++++++++- apis/servicediscovery/2017-03-14/docs-2.json | 85 ++++++++- .../2017-03-14/examples-1.json | 82 +++++++- gems/aws-partitions/CHANGELOG.md | 5 + gems/aws-partitions/VERSION | 2 +- gems/aws-partitions/partitions.json | 66 ++++--- gems/aws-sdk-cloudhsmv2/CHANGELOG.md | 5 + gems/aws-sdk-cloudhsmv2/VERSION | 2 +- .../aws-sdk-cloudhsmv2/features/smoke.feature | 20 ++ .../lib/aws-sdk-cloudhsmv2.rb | 2 +- .../lib/aws-sdk-cloudhsmv2/client.rb | 26 ++- .../lib/aws-sdk-cloudhsmv2/client_api.rb | 10 + .../lib/aws-sdk-cloudhsmv2/errors.rb | 16 ++ .../lib/aws-sdk-cloudhsmv2/types.rb | 42 +++++ gems/aws-sdk-cloudhsmv2/sig/client.rbs | 3 +- gems/aws-sdk-cloudhsmv2/sig/errors.rbs | 3 + gems/aws-sdk-cloudhsmv2/sig/types.rbs | 12 +- gems/aws-sdk-cloudwatchlogs/CHANGELOG.md | 5 + gems/aws-sdk-cloudwatchlogs/VERSION | 2 +- .../lib/aws-sdk-cloudwatchlogs.rb | 2 +- .../lib/aws-sdk-cloudwatchlogs/client.rb | 2 +- gems/aws-sdk-ec2/CHANGELOG.md | 5 + gems/aws-sdk-ec2/VERSION | 2 +- gems/aws-sdk-ec2/lib/aws-sdk-ec2.rb | 2 +- gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb | 21 ++- .../aws-sdk-ec2/lib/aws-sdk-ec2/client_api.rb | 7 +- .../lib/aws-sdk-ec2/security_group.rb | 2 +- gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb | 28 ++- gems/aws-sdk-ec2/sig/client.rbs | 9 +- gems/aws-sdk-ec2/sig/security_group.rbs | 4 +- gems/aws-sdk-ec2/sig/types.rbs | 6 + 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 | 35 +++- .../aws-sdk-eks/lib/aws-sdk-eks/client_api.rb | 7 + gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb | 177 ++++++++++++++++++ gems/aws-sdk-eks/sig/client.rbs | 6 + gems/aws-sdk-eks/sig/types.rbs | 10 +- gems/aws-sdk-mediaconnect/CHANGELOG.md | 5 + gems/aws-sdk-mediaconnect/VERSION | 2 +- .../lib/aws-sdk-mediaconnect.rb | 2 +- .../lib/aws-sdk-mediaconnect/client.rb | 16 +- .../lib/aws-sdk-mediaconnect/client_api.rb | 7 + .../lib/aws-sdk-mediaconnect/types.rb | 28 +++ gems/aws-sdk-mediaconnect/sig/client.rbs | 9 + gems/aws-sdk-mediaconnect/sig/types.rbs | 8 + gems/aws-sdk-networkmanager/CHANGELOG.md | 5 + gems/aws-sdk-networkmanager/VERSION | 2 +- .../lib/aws-sdk-networkmanager.rb | 2 +- .../lib/aws-sdk-networkmanager/client.rb | 4 +- .../lib/aws-sdk-networkmanager/types.rb | 2 +- gems/aws-sdk-servicediscovery/CHANGELOG.md | 5 + gems/aws-sdk-servicediscovery/VERSION | 2 +- .../lib/aws-sdk-servicediscovery.rb | 2 +- .../lib/aws-sdk-servicediscovery/client.rb | 159 +++++++++++++++- .../aws-sdk-servicediscovery/client_api.rb | 73 ++++++++ .../lib/aws-sdk-servicediscovery/errors.rb | 16 ++ .../lib/aws-sdk-servicediscovery/types.rb | 119 +++++++++++- gems/aws-sdk-servicediscovery/sig/client.rbs | 30 +++ gems/aws-sdk-servicediscovery/sig/errors.rbs | 3 + gems/aws-sdk-servicediscovery/sig/types.rbs | 39 ++++ 73 files changed, 1422 insertions(+), 117 deletions(-) create mode 100644 apis/cloudhsmv2/2017-04-28/smoke-2.json create mode 100644 gems/aws-sdk-cloudhsmv2/features/smoke.feature diff --git a/apis/cloudhsmv2/2017-04-28/api-2.json b/apis/cloudhsmv2/2017-04-28/api-2.json index 41f63178c9a..75af88cee1f 100644 --- a/apis/cloudhsmv2/2017-04-28/api-2.json +++ b/apis/cloudhsmv2/2017-04-28/api-2.json @@ -289,6 +289,7 @@ {"shape":"CloudHsmAccessDeniedException"}, {"shape":"CloudHsmInternalFailureException"}, {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceLimitExceededException"}, {"shape":"CloudHsmResourceNotFoundException"}, {"shape":"CloudHsmServiceException"}, {"shape":"CloudHsmTagException"} @@ -422,6 +423,13 @@ }, "exception":true }, + "CloudHsmResourceLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true + }, "CloudHsmResourceNotFoundException":{ "type":"structure", "members":{ @@ -459,6 +467,7 @@ "StateMessage":{"shape":"StateMessage"}, "SubnetMapping":{"shape":"ExternalSubnetMapping"}, "VpcId":{"shape":"VpcId"}, + "NetworkType":{"shape":"NetworkType"}, "Certificates":{"shape":"Certificates"}, "TagList":{"shape":"TagList"}, "Mode":{"shape":"ClusterMode"} @@ -484,6 +493,8 @@ "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", + "MODIFY_IN_PROGRESS", + "ROLLBACK_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" @@ -527,6 +538,7 @@ "HsmType":{"shape":"HsmType"}, "SourceBackupId":{"shape":"BackupArn"}, "SubnetIds":{"shape":"SubnetIds"}, + "NetworkType":{"shape":"NetworkType"}, "TagList":{"shape":"TagList"}, "Mode":{"shape":"ClusterMode"} } @@ -695,6 +707,7 @@ "SubnetId":{"shape":"SubnetId"}, "EniId":{"shape":"EniId"}, "EniIp":{"shape":"IpAddress"}, + "EniIpV6":{"shape":"IpV6Address"}, "HsmId":{"shape":"HsmId"}, "State":{"shape":"HsmState"}, "StateMessage":{"shape":"String"} @@ -747,6 +760,10 @@ "type":"string", "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" }, + "IpV6Address":{ + "type":"string", + "max":100 + }, "ListTagsRequest":{ "type":"structure", "required":["ResourceId"], @@ -803,6 +820,13 @@ "Cluster":{"shape":"Cluster"} } }, + "NetworkType":{ + "type":"string", + "enum":[ + "IPV4", + "DUALSTACK" + ] + }, "NextToken":{ "type":"string", "max":256, diff --git a/apis/cloudhsmv2/2017-04-28/docs-2.json b/apis/cloudhsmv2/2017-04-28/docs-2.json index e4b2ef40bf3..4cd5b45180b 100644 --- a/apis/cloudhsmv2/2017-04-28/docs-2.json +++ b/apis/cloudhsmv2/2017-04-28/docs-2.json @@ -147,6 +147,11 @@ "refs": { } }, + "CloudHsmResourceLimitExceededException": { + "base": "

The request was rejected because it exceeds an CloudHSM limit.

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

The request was rejected because it refers to a resource that cannot be found.

", "refs": { @@ -406,6 +411,12 @@ "Hsm$EniIp": "

The IP address of the HSM's elastic network interface (ENI).

" } }, + "IpV6Address": { + "base": null, + "refs": { + "Hsm$EniIpV6": "

The IPv6 address (if any) of the HSM's elastic network interface (ENI).

" + } + }, "ListTagsRequest": { "base": null, "refs": { @@ -442,6 +453,13 @@ "refs": { } }, + "NetworkType": { + "base": null, + "refs": { + "Cluster$NetworkType": "

The cluster's NetworkType can be set to either IPV4 (which is the default) or DUALSTACK. When set to IPV4, communication between your application and the Hardware Security Modules (HSMs) is restricted to the IPv4 protocol only. In contrast, the DUALSTACK network type enables communication over both the IPv4 and IPv6 protocols. To use the DUALSTACK option, you'll need to configure your Virtual Private Cloud (VPC) and subnets to support both IPv4 and IPv6. This involves adding IPv6 Classless Inter-Domain Routing (CIDR) blocks to the existing IPv4 CIDR blocks in your subnets. The choice between IPV4 and DUALSTACK network types determines the flexibility of the network addressing setup for your cluster. The DUALSTACK option provides more flexibility by allowing both IPv4 and IPv6 communication.

", + "CreateClusterRequest$NetworkType": "

The NetworkType to create a cluster with. The allowed values are IPV4 and DUALSTACK.

" + } + }, "NextToken": { "base": null, "refs": { @@ -622,6 +640,7 @@ "CloudHsmAccessDeniedException$Message": null, "CloudHsmInternalFailureException$Message": null, "CloudHsmInvalidRequestException$Message": null, + "CloudHsmResourceLimitExceededException$Message": null, "CloudHsmResourceNotFoundException$Message": null, "CloudHsmServiceException$Message": null, "CloudHsmTagException$Message": null diff --git a/apis/cloudhsmv2/2017-04-28/smoke-2.json b/apis/cloudhsmv2/2017-04-28/smoke-2.json new file mode 100644 index 00000000000..1efcc293e72 --- /dev/null +++ b/apis/cloudhsmv2/2017-04-28/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeClustersSuccess", + "operationName": "DescribeClusters", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/ec2/2016-11-15/api-2.json b/apis/ec2/2016-11-15/api-2.json index f1209bd0995..bc94f34115b 100644 --- a/apis/ec2/2016-11-15/api-2.json +++ b/apis/ec2/2016-11-15/api-2.json @@ -1669,7 +1669,8 @@ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DeleteSecurityGroupRequest"} + "input":{"shape":"DeleteSecurityGroupRequest"}, + "output":{"shape":"DeleteSecurityGroupResult"} }, "DeleteSnapshot":{ "name":"DeleteSnapshot", @@ -15060,6 +15061,19 @@ } } }, + "DeleteSecurityGroupResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "locationName":"groupId" + } + } + }, "DeleteSnapshotRequest":{ "type":"structure", "required":["SnapshotId"], diff --git a/apis/ec2/2016-11-15/docs-2.json b/apis/ec2/2016-11-15/docs-2.json index d1e087f3fd4..61c0e84cab5 100644 --- a/apis/ec2/2016-11-15/docs-2.json +++ b/apis/ec2/2016-11-15/docs-2.json @@ -644,7 +644,7 @@ "SearchTransitGatewayMulticastGroups": "

Searches one or more transit gateway multicast groups and returns the group membership information.

", "SearchTransitGatewayRoutes": "

Searches for routes in the specified transit gateway route table.

", "SendDiagnosticInterrupt": "

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) in the Amazon EC2 User Guide.

", - "StartDeclarativePoliciesReport": "

Generates an account status report. The report is generated asynchronously, and can take several hours to complete.

The report provides the current status of all attributes supported by declarative policies for the accounts within the specified scope. The scope is determined by the specified TargetId, which can represent an individual account, or all the accounts that fall under the specified organizational unit (OU) or root (the entire Amazon Web Services Organization).

The report is saved to your specified S3 bucket, using the following path structure (with the italicized placeholders representing your specific values):

s3://amzn-s3-demo-bucket/your-optional-s3-prefix/ec2_targetId_reportId_yyyyMMddThhmmZ.csv

Prerequisites for generating a report

For more information, including the required IAM permissions to run this API, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

", + "StartDeclarativePoliciesReport": "

Generates an account status report. The report is generated asynchronously, and can take several hours to complete.

The report provides the current status of all attributes supported by declarative policies for the accounts within the specified scope. The scope is determined by the specified TargetId, which can represent an individual account, or all the accounts that fall under the specified organizational unit (OU) or root (the entire Amazon Web Services Organization).

The report is saved to your specified S3 bucket, using the following path structure (with the italicized placeholders representing your specific values):

s3://amzn-s3-demo-bucket/your-optional-s3-prefix/ec2_targetId_reportId_yyyyMMddThhmmZ.csv

Prerequisites for generating a report

For more information, including the required IAM permissions to run this API, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

", "StartInstances": "

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

", "StartNetworkInsightsAccessScopeAnalysis": "

Starts analyzing the specified Network Access Scope.

", "StartNetworkInsightsAnalysis": "

Starts analyzing the specified path. If the path is reachable, the operation returns the shortest feasible path.

", @@ -2361,6 +2361,7 @@ "DeleteRouteRequest$DryRun": "

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

", "DeleteRouteTableRequest$DryRun": "

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

", "DeleteSecurityGroupRequest$DryRun": "

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

", + "DeleteSecurityGroupResult$Return": "

Returns true if the request succeeds; otherwise, returns an error.

", "DeleteSnapshotRequest$DryRun": "

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

", "DeleteSpotDatafeedSubscriptionRequest$DryRun": "

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

", "DeleteSubnetCidrReservationRequest$DryRun": "

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

", @@ -6116,6 +6117,11 @@ "refs": { } }, + "DeleteSecurityGroupResult": { + "base": null, + "refs": { + } + }, "DeleteSnapshotRequest": { "base": null, "refs": { @@ -10128,7 +10134,7 @@ } }, "Filter": { - "base": "

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

", + "base": "

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

For more information, see List and filter using the CLI and API in the Amazon EC2 User Guide.

", "refs": { "FilterList$member": null } @@ -19777,6 +19783,7 @@ "AuthorizeSecurityGroupIngressRequest$GroupId": "

The ID of the security group.

", "ClientVpnSecurityGroupIdSet$member": null, "DeleteSecurityGroupRequest$GroupId": "

The ID of the security group.

", + "DeleteSecurityGroupResult$GroupId": "

The ID of the deleted security group.

", "GroupIdStringList$member": null, "GroupIds$member": null, "ModifySecurityGroupRulesRequest$GroupId": "

The ID of the security group.

", @@ -22531,7 +22538,7 @@ "StaleSecurityGroup$GroupId": "

The ID of the security group.

", "StaleSecurityGroup$GroupName": "

The name of the security group.

", "StaleSecurityGroup$VpcId": "

The ID of the VPC for the security group.

", - "StartDeclarativePoliciesReportRequest$S3Bucket": "

The name of the S3 bucket where the report will be saved.

", + "StartDeclarativePoliciesReportRequest$S3Bucket": "

The name of the S3 bucket where the report will be saved. The bucket must be in the same Region where the report generation request is made.

", "StartDeclarativePoliciesReportRequest$S3Prefix": "

The prefix for your S3 object.

", "StartDeclarativePoliciesReportRequest$TargetId": "

The root ID, organizational unit ID, or account ID.

Format:

", "StartDeclarativePoliciesReportResult$ReportId": "

The ID of the report.

", diff --git a/apis/eks/2017-11-01/api-2.json b/apis/eks/2017-11-01/api-2.json index debedffd9f2..04376052ff1 100644 --- a/apis/eks/2017-11-01/api-2.json +++ b/apis/eks/2017-11-01/api-2.json @@ -1634,6 +1634,7 @@ }, "launchTemplate":{"shape":"LaunchTemplateSpecification"}, "updateConfig":{"shape":"NodegroupUpdateConfig"}, + "nodeRepairConfig":{"shape":"NodeRepairConfig"}, "capacityType":{"shape":"CapacityTypes"}, "version":{"shape":"String"}, "releaseVersion":{"shape":"String"} @@ -3086,6 +3087,12 @@ "productUrl":{"shape":"String"} } }, + "NodeRepairConfig":{ + "type":"structure", + "members":{ + "enabled":{"shape":"BoxedBoolean"} + } + }, "Nodegroup":{ "type":"structure", "members":{ @@ -3110,6 +3117,7 @@ "diskSize":{"shape":"BoxedInteger"}, "health":{"shape":"NodegroupHealth"}, "updateConfig":{"shape":"NodegroupUpdateConfig"}, + "nodeRepairConfig":{"shape":"NodeRepairConfig"}, "launchTemplate":{"shape":"LaunchTemplateSpecification"}, "tags":{"shape":"TagMap"} } @@ -3765,6 +3773,7 @@ "taints":{"shape":"UpdateTaintsPayload"}, "scalingConfig":{"shape":"NodegroupScalingConfig"}, "updateConfig":{"shape":"NodegroupUpdateConfig"}, + "nodeRepairConfig":{"shape":"NodeRepairConfig"}, "clientRequestToken":{ "shape":"String", "idempotencyToken":true @@ -3843,6 +3852,7 @@ "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", + "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", diff --git a/apis/eks/2017-11-01/docs-2.json b/apis/eks/2017-11-01/docs-2.json index b542e024bb1..4c745e95014 100644 --- a/apis/eks/2017-11-01/docs-2.json +++ b/apis/eks/2017-11-01/docs-2.json @@ -305,6 +305,7 @@ "CreateClusterRequest$bootstrapSelfManagedAddons": "

If you set this value to False when creating a cluster, the default networking add-ons will not be installed.

The default networking addons include vpc-cni, coredns, and kube-proxy.

Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.

", "ElasticLoadBalancing$enabled": "

Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account.

", "LogSetup$enabled": "

If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs. If a log type isn't enabled, that log type doesn't export its control plane logs. Each individual log type can be enabled or disabled independently.

", + "NodeRepairConfig$enabled": "

Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default.

", "VpcConfigRequest$endpointPublicAccess": "

Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

", "VpcConfigRequest$endpointPrivateAccess": "

Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

", "ZonalShiftConfigRequest$enabled": "

If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

", @@ -1335,6 +1336,14 @@ "AddonInfo$marketplaceInformation": "

Information about the add-on from the Amazon Web Services Marketplace.

" } }, + "NodeRepairConfig": { + "base": "

The node auto repair configuration for the node group.

", + "refs": { + "CreateNodegroupRequest$nodeRepairConfig": "

The node auto repair configuration for the node group.

", + "Nodegroup$nodeRepairConfig": "

The node auto repair configuration for the node group.

", + "UpdateNodegroupConfigRequest$nodeRepairConfig": "

The node auto repair configuration for the node group.

" + } + }, "Nodegroup": { "base": "

An object representing an Amazon EKS managed node group.

", "refs": { @@ -1487,7 +1496,7 @@ } }, "RemoteNodeNetwork": { - "base": "

A network CIDR that can contain hybrid nodes.

", + "base": "

A network CIDR that can contain hybrid nodes.

These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

It must satisfy the following requirements:

", "refs": { "RemoteNodeNetworkList$member": null } @@ -1495,12 +1504,12 @@ "RemoteNodeNetworkList": { "base": null, "refs": { - "RemoteNetworkConfigRequest$remoteNodeNetworks": "

The list of network CIDRs that can contain hybrid nodes.

", + "RemoteNetworkConfigRequest$remoteNodeNetworks": "

The list of network CIDRs that can contain hybrid nodes.

These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

It must satisfy the following requirements:

", "RemoteNetworkConfigResponse$remoteNodeNetworks": "

The list of network CIDRs that can contain hybrid nodes.

" } }, "RemotePodNetwork": { - "base": "

A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

", + "base": "

A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

It must satisfy the following requirements:

", "refs": { "RemotePodNetworkList$member": null } @@ -1508,7 +1517,7 @@ "RemotePodNetworkList": { "base": null, "refs": { - "RemoteNetworkConfigRequest$remotePodNetworks": "

The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

", + "RemoteNetworkConfigRequest$remotePodNetworks": "

The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

It must satisfy the following requirements:

", "RemoteNetworkConfigResponse$remotePodNetworks": "

The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

" } }, @@ -1943,8 +1952,8 @@ "OutpostConfigRequest$outpostArns": "

The ARN of the Outpost that you want to use for your local Amazon EKS cluster on Outposts. Only a single Outpost ARN is supported.

", "OutpostConfigResponse$outpostArns": "

The ARN of the Outpost that you specified for use with your local Amazon EKS cluster on Outposts.

", "RemoteAccessConfig$sourceSecurityGroups": "

The security group IDs that are allowed SSH access (port 22) to the nodes. For Windows, the port is 3389. If you specify an Amazon EC2 SSH key but don't specify a source security group when you create a managed node group, then the port on the nodes is opened to the internet (0.0.0.0/0). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

", - "RemoteNodeNetwork$cidrs": "

A network CIDR that can contain hybrid nodes.

", - "RemotePodNetwork$cidrs": "

A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

", + "RemoteNodeNetwork$cidrs": "

A network CIDR that can contain hybrid nodes.

These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

It must satisfy the following requirements:

", + "RemotePodNetwork$cidrs": "

A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

It must satisfy the following requirements:

", "UnsupportedAvailabilityZoneException$validZones": "

The supported Availability Zones for your account. Choose subnets in these Availability Zones for your cluster.

", "UpdateAccessEntryRequest$kubernetesGroups": "

The value for name that you've specified for kind: Group as a subject in a Kubernetes RoleBinding or ClusterRoleBinding object. Amazon EKS doesn't confirm that the value for name exists in any bindings on your cluster. You can specify one or more names.

Kubernetes authorizes the principalArn of the access entry to access any cluster objects that you've specified in a Kubernetes Role or ClusterRole object that is also specified in a binding's roleRef. For more information about creating Kubernetes RoleBinding, ClusterRoleBinding, Role, or ClusterRole objects, see Using RBAC Authorization in the Kubernetes documentation.

If you want Amazon EKS to authorize the principalArn (instead of, or in addition to Kubernetes authorizing the principalArn), you can associate one or more access policies to the access entry using AssociateAccessPolicy. If you associate any access policies, the principalARN has all permissions assigned in the associated access policies and all permissions in any Kubernetes Role or ClusterRole objects that the group names are bound to.

", "VpcConfigRequest$subnetIds": "

Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.

", diff --git a/apis/logs/2014-03-28/api-2.json b/apis/logs/2014-03-28/api-2.json index 33adbd852e7..ab8dd6b3545 100644 --- a/apis/logs/2014-03-28/api-2.json +++ b/apis/logs/2014-03-28/api-2.json @@ -2878,13 +2878,13 @@ }, "IntegrationName":{ "type":"string", - "max":256, + "max":50, "min":1, "pattern":"[\\.\\-_/#A-Za-z0-9]+" }, "IntegrationNamePrefix":{ "type":"string", - "max":256, + "max":50, "min":1, "pattern":"[\\.\\-_/#A-Za-z0-9]+" }, diff --git a/apis/mediaconnect/2018-11-14/api-2.json b/apis/mediaconnect/2018-11-14/api-2.json index ea84ca9ada6..ce2d2a4033e 100644 --- a/apis/mediaconnect/2018-11-14/api-2.json +++ b/apis/mediaconnect/2018-11-14/api-2.json @@ -1835,6 +1835,10 @@ "shape": "__string", "locationName": "multicastIp" }, + "MulticastSourceSettings": { + "shape": "MulticastSourceSettings", + "locationName": "multicastSourceSettings" + }, "Name": { "shape": "__string", "locationName": "name" @@ -2412,6 +2416,10 @@ "shape": "__string", "locationName": "multicastIp" }, + "MulticastSourceSettings": { + "shape": "MulticastSourceSettings", + "locationName": "multicastSourceSettings" + }, "Name": { "shape": "__string", "locationName": "name" @@ -4375,6 +4383,15 @@ } } }, + "MulticastSourceSettings": { + "type": "structure", + "members": { + "MulticastSourceIp": { + "shape": "__string", + "locationName": "multicastSourceIp" + } + } + }, "NetworkInterfaceType": { "type": "string", "enum": [ @@ -5514,6 +5531,10 @@ "shape": "__string", "locationName": "multicastIp" }, + "MulticastSourceSettings": { + "shape": "MulticastSourceSettings", + "locationName": "multicastSourceSettings" + }, "NetworkName": { "shape": "__string", "locationName": "networkName" diff --git a/apis/mediaconnect/2018-11-14/docs-2.json b/apis/mediaconnect/2018-11-14/docs-2.json index 181703a2222..832f7593965 100644 --- a/apis/mediaconnect/2018-11-14/docs-2.json +++ b/apis/mediaconnect/2018-11-14/docs-2.json @@ -718,6 +718,14 @@ "UpdateFlowRequest$SourceMonitoringConfig": null } }, + "MulticastSourceSettings" : { + "base" : "The settings related to the multicast source.", + "refs" : { + "AddBridgeNetworkSourceRequest$MulticastSourceSettings" : "The IP address of the source for source-specific multicast (SSM).", + "BridgeNetworkSource$MulticastSourceSettings" : "The IP address of the source for source-specific multicast (SSM).", + "UpdateBridgeNetworkSourceRequest$MulticastSourceSettings" : "The IP address of the source for source-specific multicast (SSM)." + } + }, "NetworkInterfaceType": { "base": null, "refs": { diff --git a/apis/networkmanager/2019-07-05/docs-2.json b/apis/networkmanager/2019-07-05/docs-2.json index 5f9c47aab13..56906f992b0 100644 --- a/apis/networkmanager/2019-07-05/docs-2.json +++ b/apis/networkmanager/2019-07-05/docs-2.json @@ -1360,7 +1360,7 @@ "CoreNetworkNetworkFunctionGroup$EdgeLocations": "

The core network edge locations.

", "CoreNetworkSegment$EdgeLocations": "

The Regions where the edges are located.

", "CreateDirectConnectGatewayAttachmentRequest$EdgeLocations": "

One or more core network edge locations that the Direct Connect gateway attachment is associated with.

", - "UpdateDirectConnectGatewayAttachmentRequest$EdgeLocations": "

One or more edge locations to update for the Direct Connect gateway attachment. The updated array of edge locations overwrites the previous array of locations. EdgeLocations is only used for Direct Connect gateway attachments. Do

" + "UpdateDirectConnectGatewayAttachmentRequest$EdgeLocations": "

One or more edge locations to update for the Direct Connect gateway attachment. The updated array of edge locations overwrites the previous array of locations. EdgeLocations is only used for Direct Connect gateway attachments.

" } }, "FilterMap": { diff --git a/apis/servicediscovery/2017-03-14/api-2.json b/apis/servicediscovery/2017-03-14/api-2.json index 6666bd6a174..74bd0f67021 100644 --- a/apis/servicediscovery/2017-03-14/api-2.json +++ b/apis/servicediscovery/2017-03-14/api-2.json @@ -108,6 +108,19 @@ {"shape":"ResourceInUse"} ] }, + "DeleteServiceAttributes":{ + "name":"DeleteServiceAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceAttributesRequest"}, + "output":{"shape":"DeleteServiceAttributesResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ] + }, "DeregisterInstance":{ "name":"DeregisterInstance", "http":{ @@ -223,6 +236,19 @@ {"shape":"ServiceNotFound"} ] }, + "GetServiceAttributes":{ + "name":"GetServiceAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceAttributesRequest"}, + "output":{"shape":"GetServiceAttributesResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ] + }, "ListInstances":{ "name":"ListInstances", "http":{ @@ -400,6 +426,20 @@ {"shape":"InvalidInput"}, {"shape":"ServiceNotFound"} ] + }, + "UpdateServiceAttributes":{ + "name":"UpdateServiceAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceAttributesRequest"}, + "output":{"shape":"UpdateServiceAttributesResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"}, + {"shape":"ServiceAttributesLimitExceededException"} + ] } }, "shapes":{ @@ -542,6 +582,22 @@ "OperationId":{"shape":"OperationId"} } }, + "DeleteServiceAttributesRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "Attributes" + ], + "members":{ + "ServiceId":{"shape":"ResourceId"}, + "Attributes":{"shape":"ServiceAttributeKeyList"} + } + }, + "DeleteServiceAttributesResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteServiceRequest":{ "type":"structure", "required":["Id"], @@ -749,6 +805,19 @@ "Operation":{"shape":"Operation"} } }, + "GetServiceAttributesRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "ServiceId":{"shape":"ResourceId"} + } + }, + "GetServiceAttributesResponse":{ + "type":"structure", + "members":{ + "ServiceAttributes":{"shape":"ServiceAttributes"} + } + }, "GetServiceRequest":{ "type":"structure", "required":["Id"], @@ -1011,7 +1080,8 @@ }, "NamespaceName":{ "type":"string", - "max":1024 + "max":1024, + "pattern":"^[!-~]{1,1024}$" }, "NamespaceNameHttp":{ "type":"string", @@ -1361,6 +1431,41 @@ }, "exception":true }, + "ServiceAttributeKey":{ + "type":"string", + "max":255 + }, + "ServiceAttributeKeyList":{ + "type":"list", + "member":{"shape":"ServiceAttributeKey"}, + "max":30, + "min":1 + }, + "ServiceAttributeValue":{ + "type":"string", + "max":1024 + }, + "ServiceAttributes":{ + "type":"structure", + "members":{ + "ServiceArn":{"shape":"Arn"}, + "Attributes":{"shape":"ServiceAttributesMap"} + } + }, + "ServiceAttributesLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ServiceAttributesMap":{ + "type":"map", + "key":{"shape":"ServiceAttributeKey"}, + "value":{"shape":"ServiceAttributeValue"}, + "max":30, + "min":1 + }, "ServiceChange":{ "type":"structure", "members":{ @@ -1581,6 +1686,22 @@ "OperationId":{"shape":"OperationId"} } }, + "UpdateServiceAttributesRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "Attributes" + ], + "members":{ + "ServiceId":{"shape":"ResourceId"}, + "Attributes":{"shape":"ServiceAttributesMap"} + } + }, + "UpdateServiceAttributesResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateServiceRequest":{ "type":"structure", "required":[ diff --git a/apis/servicediscovery/2017-03-14/docs-2.json b/apis/servicediscovery/2017-03-14/docs-2.json index da68eea062e..fa96034ae67 100644 --- a/apis/servicediscovery/2017-03-14/docs-2.json +++ b/apis/servicediscovery/2017-03-14/docs-2.json @@ -7,7 +7,8 @@ "CreatePublicDnsNamespace": "

Creates a public namespace based on DNS, which is visible on the internet. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service is backend.example.com. You can discover instances that were registered with a public DNS namespace by using either a DiscoverInstances request or using DNS. For the current quota on the number of namespaces that you can create using the same Amazon Web Services account, see Cloud Map quotas in the Cloud Map Developer Guide.

The CreatePublicDnsNamespace API operation is not supported in the Amazon Web Services GovCloud (US) Regions.

", "CreateService": "

Creates a service. This action defines the configuration for the following entities:

After you create the service, you can submit a RegisterInstance request, and Cloud Map uses the values in the configuration to create the specified entities.

For the current quota on the number of instances that you can register using the same namespace and using the same service, see Cloud Map quotas in the Cloud Map Developer Guide.

", "DeleteNamespace": "

Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.

", - "DeleteService": "

Deletes a specified service. If the service still contains one or more registered instances, the request fails.

", + "DeleteService": "

Deletes a specified service and all associated service attributes. If the service still contains one or more registered instances, the request fails.

", + "DeleteServiceAttributes": "

Deletes specific attributes associated with a service.

", "DeregisterInstance": "

Deletes the Amazon Route 53 DNS records and health check, if any, that Cloud Map created for the specified instance.

", "DiscoverInstances": "

Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. DiscoverInstances returns a randomized list of instances allowing customers to distribute traffic evenly across instances. For public and private DNS namespaces, you can also use DNS queries to discover instances.

", "DiscoverInstancesRevision": "

Discovers the increasing revision associated with an instance.

", @@ -16,6 +17,7 @@ "GetNamespace": "

Gets information about a namespace.

", "GetOperation": "

Gets information about any operation that returns an operation ID in the response, such as a CreateHttpNamespace request.

To get a list of operations that match specified criteria, see ListOperations.

", "GetService": "

Gets the settings for a specified service.

", + "GetServiceAttributes": "

Returns the attributes associated with a specified service.

", "ListInstances": "

Lists summary information about the instances that you registered by using a specified service.

", "ListNamespaces": "

Lists summary information about the namespaces that were created by the current Amazon Web Services account.

", "ListOperations": "

Lists operations that match the criteria that you specify.

", @@ -28,7 +30,8 @@ "UpdateInstanceCustomHealthStatus": "

Submits a request to change the health status of a custom health check to healthy or unhealthy.

You can use UpdateInstanceCustomHealthStatus to change the status only for custom health checks, which you define using HealthCheckCustomConfig when you create a service. You can't use it to change the status for Route 53 health checks, which you define using HealthCheckConfig.

For more information, see HealthCheckCustomConfig.

", "UpdatePrivateDnsNamespace": "

Updates a private DNS namespace.

", "UpdatePublicDnsNamespace": "

Updates a public DNS namespace.

", - "UpdateService": "

Submits a request to perform the following operations:

For public and private DNS namespaces, note the following:

When you update settings for a service, Cloud Map also updates the corresponding settings in all the records and health checks that were created by using the specified service.

" + "UpdateService": "

Submits a request to perform the following operations:

For public and private DNS namespaces, note the following:

When you update settings for a service, Cloud Map also updates the corresponding settings in all the records and health checks that were created by using the specified service.

", + "UpdateServiceAttributes": "

Submits a request to update a specified service to add service-level attributes.

" }, "shapes": { "AmazonResourceName": { @@ -46,6 +49,7 @@ "Namespace$Arn": "

The Amazon Resource Name (ARN) that Cloud Map assigns to the namespace when you create it.

", "NamespaceSummary$Arn": "

The Amazon Resource Name (ARN) that Cloud Map assigns to the namespace when you create it.

", "Service$Arn": "

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you create it.

", + "ServiceAttributes$ServiceArn": "

The ARN of the service that the attributes are associated with.

", "ServiceSummary$Arn": "

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you create it.

" } }, @@ -139,6 +143,16 @@ "refs": { } }, + "DeleteServiceAttributesRequest": { + "base": null, + "refs": { + } + }, + "DeleteServiceAttributesResponse": { + "base": null, + "refs": { + } + }, "DeleteServiceRequest": { "base": null, "refs": { @@ -186,7 +200,7 @@ } }, "DnsConfig": { - "base": "

A complex type that contains information about the Amazon Route 53 DNS records that you want Cloud Map to create when you register an instance.

The record types of a service can only be changed by deleting the service and recreating it with a new Dnsconfig.

", + "base": "

A complex type that contains information about the Amazon Route 53 DNS records that you want Cloud Map to create when you register an instance.

", "refs": { "CreateServiceRequest$DnsConfig": "

A complex type that contains information about the Amazon Route 53 records that you want Cloud Map to create when you register an instance.

", "Service$DnsConfig": "

A complex type that contains information about the Route 53 DNS records that you want Cloud Map to create when you register an instance.

The record types of a service can only be changed by deleting the service and recreating it with a new Dnsconfig.

", @@ -214,7 +228,7 @@ "DnsRecordList": { "base": null, "refs": { - "DnsConfig$DnsRecords": "

An array that contains one DnsRecord object for each Route 53 DNS record that you want Cloud Map to create when you register an instance.

", + "DnsConfig$DnsRecords": "

An array that contains one DnsRecord object for each Route 53 DNS record that you want Cloud Map to create when you register an instance.

The record type of a service specified in a DnsRecord object can't be updated. To change a record type, you need to delete the service and recreate it with a new DnsConfig.

", "DnsConfigChange$DnsRecords": "

An array that contains one DnsRecord object for each Route 53 record that you want Cloud Map to create when you register an instance.

" } }, @@ -238,6 +252,7 @@ "ResourceLimitExceeded$Message": null, "ResourceNotFoundException$Message": null, "ServiceAlreadyExists$Message": null, + "ServiceAttributesLimitExceededException$Message": null, "ServiceNotFound$Message": null, "TooManyTagsException$Message": null } @@ -311,6 +326,16 @@ "refs": { } }, + "GetServiceAttributesRequest": { + "base": null, + "refs": { + } + }, + "GetServiceAttributesResponse": { + "base": null, + "refs": { + } + }, "GetServiceRequest": { "base": null, "refs": { @@ -805,6 +830,7 @@ "CreateServiceRequest$NamespaceId": "

The ID of the namespace that you want to use to create the service. The namespace ID must be specified, but it can be specified either here or in the DnsConfig object.

", "CreateServiceRequest$CreatorRequestId": "

A unique string that identifies the request and that allows failed CreateService requests to be retried without the risk of running the operation twice. CreatorRequestId can be any unique string (for example, a date/timestamp).

", "DeleteNamespaceRequest$Id": "

The ID of the namespace that you want to delete.

", + "DeleteServiceAttributesRequest$ServiceId": "

The ID of the service from which the attributes will be deleted.

", "DeleteServiceRequest$Id": "

The ID of the service that you want to delete.

", "DeregisterInstanceRequest$ServiceId": "

The ID of the service that the instance is associated with.

", "DeregisterInstanceRequest$InstanceId": "

The value that you specified for Id in the RegisterInstance request.

", @@ -816,6 +842,7 @@ "GetInstancesHealthStatusRequest$ServiceId": "

The ID of the service that the instance is associated with.

", "GetNamespaceRequest$Id": "

The ID of the namespace that you want to get information about.

", "GetOperationRequest$OperationId": "

The ID of the operation that you want to get more information about.

", + "GetServiceAttributesRequest$ServiceId": "

The ID of the service that you want to get attributes for.

", "GetServiceRequest$Id": "

The ID of the service that you want to get settings for.

", "HttpInstanceSummary$InstanceId": "

The ID of an instance that matches the values that you specified in the request.

", "Instance$Id": "

An identifier that you want to associate with the instance. Note the following:

", @@ -846,6 +873,7 @@ "UpdatePrivateDnsNamespaceRequest$UpdaterRequestId": "

A unique string that identifies the request and that allows failed UpdatePrivateDnsNamespace requests to be retried without the risk of running the operation twice. UpdaterRequestId can be any unique string (for example, a date/timestamp).

", "UpdatePublicDnsNamespaceRequest$Id": "

The ID of the namespace being updated.

", "UpdatePublicDnsNamespaceRequest$UpdaterRequestId": "

A unique string that identifies the request and that allows failed UpdatePublicDnsNamespace requests to be retried without the risk of running the operation twice. UpdaterRequestId can be any unique string (for example, a date/timestamp).

", + "UpdateServiceAttributesRequest$ServiceId": "

The ID of the service that you want to update.

", "UpdateServiceRequest$Id": "

The ID of the service that you want to update.

" } }, @@ -910,10 +938,47 @@ "refs": { } }, + "ServiceAttributeKey": { + "base": null, + "refs": { + "ServiceAttributeKeyList$member": null, + "ServiceAttributesMap$key": null + } + }, + "ServiceAttributeKeyList": { + "base": null, + "refs": { + "DeleteServiceAttributesRequest$Attributes": "

A list of keys corresponding to each attribute that you want to delete.

" + } + }, + "ServiceAttributeValue": { + "base": null, + "refs": { + "ServiceAttributesMap$value": null + } + }, + "ServiceAttributes": { + "base": "

A complex type that contains information about attributes associated with a specific service.

", + "refs": { + "GetServiceAttributesResponse$ServiceAttributes": "

A complex type that contains the service ARN and a list of attribute key-value pairs associated with the service.

" + } + }, + "ServiceAttributesLimitExceededException": { + "base": "

The attribute can't be added to the service because you've exceeded the quota for the number of attributes you can add to a service.

", + "refs": { + } + }, + "ServiceAttributesMap": { + "base": null, + "refs": { + "ServiceAttributes$Attributes": "

A string map that contains the following information for the service that you specify in ServiceArn:

You can specify a total of 30 attributes.

", + "UpdateServiceAttributesRequest$Attributes": "

A string map that contains attribute key-value pairs.

" + } + }, "ServiceChange": { "base": "

A complex type that contains changes to an existing service.

", "refs": { - "UpdateServiceRequest$Service": "

A complex type that contains the new settings for the service.

" + "UpdateServiceRequest$Service": "

A complex type that contains the new settings for the service. You can specify a maximum of 30 attributes (key-value pairs).

" } }, "ServiceFilter": { @@ -1082,6 +1147,16 @@ "refs": { } }, + "UpdateServiceAttributesRequest": { + "base": null, + "refs": { + } + }, + "UpdateServiceAttributesResponse": { + "base": null, + "refs": { + } + }, "UpdateServiceRequest": { "base": null, "refs": { diff --git a/apis/servicediscovery/2017-03-14/examples-1.json b/apis/servicediscovery/2017-03-14/examples-1.json index c62748159c1..9a5af7f8403 100644 --- a/apis/servicediscovery/2017-03-14/examples-1.json +++ b/apis/servicediscovery/2017-03-14/examples-1.json @@ -149,6 +149,27 @@ "title": "Example: Delete service" } ], + "DeleteServiceAttributes": [ + { + "input": { + "Attributes": [ + "port" + ], + "ServiceId": "srv-e4anhexample0004" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Example: Delete service attribute by providing attribute key and service ID", + "id": "example-delete-service-attributes-1587416462902", + "title": "DeleteServiceAttributes example" + } + ], "DeregisterInstance": [ { "input": { @@ -367,6 +388,30 @@ "title": "GetService Example" } ], + "GetServiceAttributes": [ + { + "input": { + "ServiceId": "srv-e4anhexample0004" + }, + "output": { + "ServiceAttributes": { + "Attributes": { + "port": "80" + }, + "ServiceArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-e4anhexample0004" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets the attributes for a specified service.", + "id": "get-service-attributes-example-1590117234294", + "title": "GetServiceAttributes Example" + } + ], "ListInstances": [ { "input": { @@ -686,7 +731,7 @@ "UpdaterRequestId": "" }, "output": { - "OperationId": "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE" + "OperationId": "ft52xe2koxhoeormaceymagglsdjEXAMPLE" }, "comments": { "input": { @@ -694,9 +739,9 @@ "output": { } }, - "description": "The following example updates the description of a private DNS namespace.", - "id": "to-update-a-private-dns-namespace-1712868389604", - "title": "To update a private DNS namespace" + "description": "The following example updates the description of a public DNS namespace.", + "id": "to-update-a-public-dns-namespace-1712868389604", + "title": "To update a public DNS namespace" }, { "input": { @@ -707,7 +752,7 @@ "UpdaterRequestId": "" }, "output": { - "OperationId": "ft52xe2koxhoeormaceymagglsdjEXAMPLE" + "OperationId": "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE" }, "comments": { "input": { @@ -715,9 +760,9 @@ "output": { } }, - "description": "The following example updates the description of a public DNS namespace.", - "id": "to-update-a-public-dns-namespace-1712868389604", - "title": "To update a public DNS namespace" + "description": "The following example updates the description of a private DNS namespace.", + "id": "to-update-a-private-dns-namespace-1712868389604", + "title": "To update a private DNS namespace" } ], "UpdateService": [ @@ -753,6 +798,27 @@ "id": "updateservice-example-1590117830880", "title": "UpdateService Example" } + ], + "UpdateServiceAttributes": [ + { + "input": { + "Attributes": { + "port": "80" + }, + "ServiceId": "srv-e4anhexample0004" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example submits a request to update the specified service to add a port attribute with the value 80.", + "id": "update-service-attributes-example-1590117830880", + "title": "UpdateServiceAttributes Example" + } ] } } diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 5efe9012c49..b0498cdf20f 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.1023.0 (2024-12-13) +------------------ + +* Feature - Updated the partitions source data the determines the AWS service regions and endpoints. + 1.1022.0 (2024-12-12) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index b1e4c58a095..fa387e9afe7 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.1022.0 +1.1023.0 diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json index 80f78bc40c0..05a28b33ff5 100644 --- a/gems/aws-partitions/partitions.json +++ b/gems/aws-partitions/partitions.json @@ -22079,6 +22079,28 @@ } } }, + "trustedadvisor" : { + "endpoints" : { + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "trustedadvisor-fips.us-east-1.api.aws" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "trustedadvisor-fips.us-east-2.api.aws" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "trustedadvisor-fips.us-west-2.api.aws" + } + } + }, "verifiedpermissions" : { "endpoints" : { "af-south-1" : { }, @@ -26580,9 +26602,6 @@ "endpoints" : { "us-gov-east-1" : { "variants" : [ { - "hostname" : "dlm-fips.us-gov-east-1.api.aws", - "tags" : [ "dualstack", "fips" ] - }, { "hostname" : "dlm.us-gov-east-1.amazonaws.com", "tags" : [ "fips" ] } ] @@ -26596,9 +26615,6 @@ }, "us-gov-west-1" : { "variants" : [ { - "hostname" : "dlm-fips.us-gov-west-1.api.aws", - "tags" : [ "dualstack", "fips" ] - }, { "hostname" : "dlm.us-gov-west-1.amazonaws.com", "tags" : [ "fips" ] } ] @@ -30639,6 +30655,12 @@ } } }, + "codebuild" : { + "endpoints" : { + "us-iso-east-1" : { }, + "us-iso-west-1" : { } + } + }, "codedeploy" : { "endpoints" : { "us-iso-east-1" : { }, @@ -30702,18 +30724,8 @@ }, "dlm" : { "endpoints" : { - "us-iso-east-1" : { - "variants" : [ { - "hostname" : "dlm-fips.us-iso-east-1.api.aws.ic.gov", - "tags" : [ "dualstack", "fips" ] - } ] - }, - "us-iso-west-1" : { - "variants" : [ { - "hostname" : "dlm-fips.us-iso-west-1.api.aws.ic.gov", - "tags" : [ "dualstack", "fips" ] - } ] - } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "dms" : { @@ -31328,6 +31340,12 @@ } } }, + "scheduler" : { + "endpoints" : { + "us-iso-east-1" : { }, + "us-iso-west-1" : { } + } + }, "secretsmanager" : { "endpoints" : { "us-iso-east-1" : { }, @@ -31615,12 +31633,7 @@ }, "dlm" : { "endpoints" : { - "us-isob-east-1" : { - "variants" : [ { - "hostname" : "dlm-fips.us-isob-east-1.api.aws.scloud", - "tags" : [ "dualstack", "fips" ] - } ] - } + "us-isob-east-1" : { } } }, "dms" : { @@ -32045,6 +32058,11 @@ } } }, + "scheduler" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "secretsmanager" : { "endpoints" : { "us-isob-east-1" : { } diff --git a/gems/aws-sdk-cloudhsmv2/CHANGELOG.md b/gems/aws-sdk-cloudhsmv2/CHANGELOG.md index bed119bc965..c737599898b 100644 --- a/gems/aws-sdk-cloudhsmv2/CHANGELOG.md +++ b/gems/aws-sdk-cloudhsmv2/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.70.0 (2024-12-13) +------------------ + +* Feature - Add support for Dual-Stack hsm2m.medium clusters. The customers will now be able to create hsm2m.medium clusters having both IPv4 and IPv6 connection capabilities by specifying a new param called NetworkType=DUALSTACK during cluster creation. + 1.69.0 (2024-10-18) ------------------ diff --git a/gems/aws-sdk-cloudhsmv2/VERSION b/gems/aws-sdk-cloudhsmv2/VERSION index 49349856550..832e9afb6c1 100644 --- a/gems/aws-sdk-cloudhsmv2/VERSION +++ b/gems/aws-sdk-cloudhsmv2/VERSION @@ -1 +1 @@ -1.69.0 +1.70.0 diff --git a/gems/aws-sdk-cloudhsmv2/features/smoke.feature b/gems/aws-sdk-cloudhsmv2/features/smoke.feature new file mode 100644 index 00000000000..d5db7579656 --- /dev/null +++ b/gems/aws-sdk-cloudhsmv2/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for CloudHSMV2 + + @cloudhsmv2 @smoke + Scenario: DescribeClustersSuccess + Given I create a 'Aws::CloudHSMV2' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'describe_clusters' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2.rb b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2.rb index ed9f3f1f885..464ac02cc5d 100644 --- a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2.rb +++ b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2.rb @@ -54,7 +54,7 @@ module Plugins autoload :EndpointProvider, 'aws-sdk-cloudhsmv2/endpoint_provider' autoload :Endpoints, 'aws-sdk-cloudhsmv2/endpoints' - GEM_VERSION = '1.69.0' + GEM_VERSION = '1.70.0' end diff --git a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client.rb b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client.rb index f96e5b2a835..929c81ed690 100644 --- a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client.rb +++ b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client.rb @@ -533,6 +533,10 @@ def copy_backup_to_region(params = {}, options = {}) # # * You can specify only one subnet per Availability Zone. # + # @option params [String] :network_type + # The NetworkType to create a cluster with. The allowed values are + # `IPV4` and `DUALSTACK`. + # # @option params [Array] :tag_list # Tags to apply to the CloudHSM cluster during creation. # @@ -554,6 +558,7 @@ def copy_backup_to_region(params = {}, options = {}) # hsm_type: "HsmType", # required # source_backup_id: "BackupArn", # subnet_ids: ["SubnetId"], # required + # network_type: "IPV4", # accepts IPV4, DUALSTACK # tag_list: [ # { # key: "TagKey", # required @@ -576,6 +581,7 @@ def copy_backup_to_region(params = {}, options = {}) # resp.cluster.hsms[0].subnet_id #=> String # resp.cluster.hsms[0].eni_id #=> String # resp.cluster.hsms[0].eni_ip #=> String + # resp.cluster.hsms[0].eni_ip_v6 #=> String # resp.cluster.hsms[0].hsm_id #=> String # resp.cluster.hsms[0].state #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DEGRADED", "DELETE_IN_PROGRESS", "DELETED" # resp.cluster.hsms[0].state_message #=> String @@ -583,11 +589,12 @@ def copy_backup_to_region(params = {}, options = {}) # resp.cluster.pre_co_password #=> String # resp.cluster.security_group #=> String # resp.cluster.source_backup_id #=> String - # resp.cluster.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" + # resp.cluster.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "MODIFY_IN_PROGRESS", "ROLLBACK_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" # resp.cluster.state_message #=> String # resp.cluster.subnet_mapping #=> Hash # resp.cluster.subnet_mapping["ExternalAz"] #=> String # resp.cluster.vpc_id #=> String + # resp.cluster.network_type #=> String, one of "IPV4", "DUALSTACK" # resp.cluster.certificates.cluster_csr #=> String # resp.cluster.certificates.hsm_certificate #=> String # resp.cluster.certificates.aws_hardware_certificate #=> String @@ -646,6 +653,7 @@ def create_cluster(params = {}, options = {}) # resp.hsm.subnet_id #=> String # resp.hsm.eni_id #=> String # resp.hsm.eni_ip #=> String + # resp.hsm.eni_ip_v6 #=> String # resp.hsm.hsm_id #=> String # resp.hsm.state #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DEGRADED", "DELETE_IN_PROGRESS", "DELETED" # resp.hsm.state_message #=> String @@ -743,6 +751,7 @@ def delete_backup(params = {}, options = {}) # resp.cluster.hsms[0].subnet_id #=> String # resp.cluster.hsms[0].eni_id #=> String # resp.cluster.hsms[0].eni_ip #=> String + # resp.cluster.hsms[0].eni_ip_v6 #=> String # resp.cluster.hsms[0].hsm_id #=> String # resp.cluster.hsms[0].state #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DEGRADED", "DELETE_IN_PROGRESS", "DELETED" # resp.cluster.hsms[0].state_message #=> String @@ -750,11 +759,12 @@ def delete_backup(params = {}, options = {}) # resp.cluster.pre_co_password #=> String # resp.cluster.security_group #=> String # resp.cluster.source_backup_id #=> String - # resp.cluster.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" + # resp.cluster.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "MODIFY_IN_PROGRESS", "ROLLBACK_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" # resp.cluster.state_message #=> String # resp.cluster.subnet_mapping #=> Hash # resp.cluster.subnet_mapping["ExternalAz"] #=> String # resp.cluster.vpc_id #=> String + # resp.cluster.network_type #=> String, one of "IPV4", "DUALSTACK" # resp.cluster.certificates.cluster_csr #=> String # resp.cluster.certificates.hsm_certificate #=> String # resp.cluster.certificates.aws_hardware_certificate #=> String @@ -1041,6 +1051,7 @@ def describe_backups(params = {}, options = {}) # resp.clusters[0].hsms[0].subnet_id #=> String # resp.clusters[0].hsms[0].eni_id #=> String # resp.clusters[0].hsms[0].eni_ip #=> String + # resp.clusters[0].hsms[0].eni_ip_v6 #=> String # resp.clusters[0].hsms[0].hsm_id #=> String # resp.clusters[0].hsms[0].state #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DEGRADED", "DELETE_IN_PROGRESS", "DELETED" # resp.clusters[0].hsms[0].state_message #=> String @@ -1048,11 +1059,12 @@ def describe_backups(params = {}, options = {}) # resp.clusters[0].pre_co_password #=> String # resp.clusters[0].security_group #=> String # resp.clusters[0].source_backup_id #=> String - # resp.clusters[0].state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" + # resp.clusters[0].state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "MODIFY_IN_PROGRESS", "ROLLBACK_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" # resp.clusters[0].state_message #=> String # resp.clusters[0].subnet_mapping #=> Hash # resp.clusters[0].subnet_mapping["ExternalAz"] #=> String # resp.clusters[0].vpc_id #=> String + # resp.clusters[0].network_type #=> String, one of "IPV4", "DUALSTACK" # resp.clusters[0].certificates.cluster_csr #=> String # resp.clusters[0].certificates.hsm_certificate #=> String # resp.clusters[0].certificates.aws_hardware_certificate #=> String @@ -1145,7 +1157,7 @@ def get_resource_policy(params = {}, options = {}) # # @example Response structure # - # resp.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" + # resp.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "MODIFY_IN_PROGRESS", "ROLLBACK_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" # resp.state_message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/InitializeCluster AWS API Documentation @@ -1306,6 +1318,7 @@ def modify_backup_attributes(params = {}, options = {}) # resp.cluster.hsms[0].subnet_id #=> String # resp.cluster.hsms[0].eni_id #=> String # resp.cluster.hsms[0].eni_ip #=> String + # resp.cluster.hsms[0].eni_ip_v6 #=> String # resp.cluster.hsms[0].hsm_id #=> String # resp.cluster.hsms[0].state #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DEGRADED", "DELETE_IN_PROGRESS", "DELETED" # resp.cluster.hsms[0].state_message #=> String @@ -1313,11 +1326,12 @@ def modify_backup_attributes(params = {}, options = {}) # resp.cluster.pre_co_password #=> String # resp.cluster.security_group #=> String # resp.cluster.source_backup_id #=> String - # resp.cluster.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" + # resp.cluster.state #=> String, one of "CREATE_IN_PROGRESS", "UNINITIALIZED", "INITIALIZE_IN_PROGRESS", "INITIALIZED", "ACTIVE", "UPDATE_IN_PROGRESS", "MODIFY_IN_PROGRESS", "ROLLBACK_IN_PROGRESS", "DELETE_IN_PROGRESS", "DELETED", "DEGRADED" # resp.cluster.state_message #=> String # resp.cluster.subnet_mapping #=> Hash # resp.cluster.subnet_mapping["ExternalAz"] #=> String # resp.cluster.vpc_id #=> String + # resp.cluster.network_type #=> String, one of "IPV4", "DUALSTACK" # resp.cluster.certificates.cluster_csr #=> String # resp.cluster.certificates.hsm_certificate #=> String # resp.cluster.certificates.aws_hardware_certificate #=> String @@ -1542,7 +1556,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-cloudhsmv2' - context[:gem_version] = '1.69.0' + context[:gem_version] = '1.70.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client_api.rb b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client_api.rb index 3761e3e516e..1e0993617d9 100644 --- a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client_api.rb +++ b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/client_api.rb @@ -31,6 +31,7 @@ module ClientApi CloudHsmArn = Shapes::StringShape.new(name: 'CloudHsmArn') CloudHsmInternalFailureException = Shapes::StructureShape.new(name: 'CloudHsmInternalFailureException') CloudHsmInvalidRequestException = Shapes::StructureShape.new(name: 'CloudHsmInvalidRequestException') + CloudHsmResourceLimitExceededException = Shapes::StructureShape.new(name: 'CloudHsmResourceLimitExceededException') CloudHsmResourceNotFoundException = Shapes::StructureShape.new(name: 'CloudHsmResourceNotFoundException') CloudHsmServiceException = Shapes::StructureShape.new(name: 'CloudHsmServiceException') CloudHsmTagException = Shapes::StructureShape.new(name: 'CloudHsmTagException') @@ -74,6 +75,7 @@ module ClientApi InitializeClusterRequest = Shapes::StructureShape.new(name: 'InitializeClusterRequest') InitializeClusterResponse = Shapes::StructureShape.new(name: 'InitializeClusterResponse') IpAddress = Shapes::StringShape.new(name: 'IpAddress') + IpV6Address = Shapes::StringShape.new(name: 'IpV6Address') ListTagsRequest = Shapes::StructureShape.new(name: 'ListTagsRequest') ListTagsResponse = Shapes::StructureShape.new(name: 'ListTagsResponse') MaxSize = Shapes::IntegerShape.new(name: 'MaxSize') @@ -81,6 +83,7 @@ module ClientApi ModifyBackupAttributesResponse = Shapes::StructureShape.new(name: 'ModifyBackupAttributesResponse') ModifyClusterRequest = Shapes::StructureShape.new(name: 'ModifyClusterRequest') ModifyClusterResponse = Shapes::StructureShape.new(name: 'ModifyClusterResponse') + NetworkType = Shapes::StringShape.new(name: 'NetworkType') NextToken = Shapes::StringShape.new(name: 'NextToken') PreCoPassword = Shapes::StringShape.new(name: 'PreCoPassword') PutResourcePolicyRequest = Shapes::StructureShape.new(name: 'PutResourcePolicyRequest') @@ -147,6 +150,9 @@ module ClientApi CloudHsmInvalidRequestException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message")) CloudHsmInvalidRequestException.struct_class = Types::CloudHsmInvalidRequestException + CloudHsmResourceLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message")) + CloudHsmResourceLimitExceededException.struct_class = Types::CloudHsmResourceLimitExceededException + CloudHsmResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message")) CloudHsmResourceNotFoundException.struct_class = Types::CloudHsmResourceNotFoundException @@ -169,6 +175,7 @@ module ClientApi Cluster.add_member(:state_message, Shapes::ShapeRef.new(shape: StateMessage, location_name: "StateMessage")) Cluster.add_member(:subnet_mapping, Shapes::ShapeRef.new(shape: ExternalSubnetMapping, location_name: "SubnetMapping")) Cluster.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId")) + Cluster.add_member(:network_type, Shapes::ShapeRef.new(shape: NetworkType, location_name: "NetworkType")) Cluster.add_member(:certificates, Shapes::ShapeRef.new(shape: Certificates, location_name: "Certificates")) Cluster.add_member(:tag_list, Shapes::ShapeRef.new(shape: TagList, location_name: "TagList")) Cluster.add_member(:mode, Shapes::ShapeRef.new(shape: ClusterMode, location_name: "Mode")) @@ -188,6 +195,7 @@ module ClientApi CreateClusterRequest.add_member(:hsm_type, Shapes::ShapeRef.new(shape: HsmType, required: true, location_name: "HsmType")) CreateClusterRequest.add_member(:source_backup_id, Shapes::ShapeRef.new(shape: BackupArn, location_name: "SourceBackupId")) CreateClusterRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, required: true, location_name: "SubnetIds")) + CreateClusterRequest.add_member(:network_type, Shapes::ShapeRef.new(shape: NetworkType, location_name: "NetworkType")) CreateClusterRequest.add_member(:tag_list, Shapes::ShapeRef.new(shape: TagList, location_name: "TagList")) CreateClusterRequest.add_member(:mode, Shapes::ShapeRef.new(shape: ClusterMode, location_name: "Mode")) CreateClusterRequest.struct_class = Types::CreateClusterRequest @@ -274,6 +282,7 @@ module ClientApi Hsm.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, location_name: "SubnetId")) Hsm.add_member(:eni_id, Shapes::ShapeRef.new(shape: EniId, location_name: "EniId")) Hsm.add_member(:eni_ip, Shapes::ShapeRef.new(shape: IpAddress, location_name: "EniIp")) + Hsm.add_member(:eni_ip_v6, Shapes::ShapeRef.new(shape: IpV6Address, location_name: "EniIpV6")) Hsm.add_member(:hsm_id, Shapes::ShapeRef.new(shape: HsmId, required: true, location_name: "HsmId")) Hsm.add_member(:state, Shapes::ShapeRef.new(shape: HsmState, location_name: "State")) Hsm.add_member(:state_message, Shapes::ShapeRef.new(shape: String, location_name: "StateMessage")) @@ -613,6 +622,7 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: CloudHsmAccessDeniedException) o.errors << Shapes::ShapeRef.new(shape: CloudHsmInternalFailureException) o.errors << Shapes::ShapeRef.new(shape: CloudHsmInvalidRequestException) + o.errors << Shapes::ShapeRef.new(shape: CloudHsmResourceLimitExceededException) o.errors << Shapes::ShapeRef.new(shape: CloudHsmResourceNotFoundException) o.errors << Shapes::ShapeRef.new(shape: CloudHsmServiceException) o.errors << Shapes::ShapeRef.new(shape: CloudHsmTagException) diff --git a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/errors.rb b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/errors.rb index 2475bdadb5b..5516714175d 100644 --- a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/errors.rb +++ b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/errors.rb @@ -30,6 +30,7 @@ module Aws::CloudHSMV2 # * {CloudHsmAccessDeniedException} # * {CloudHsmInternalFailureException} # * {CloudHsmInvalidRequestException} + # * {CloudHsmResourceLimitExceededException} # * {CloudHsmResourceNotFoundException} # * {CloudHsmServiceException} # * {CloudHsmTagException} @@ -85,6 +86,21 @@ def message end end + class CloudHsmResourceLimitExceededException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::CloudHSMV2::Types::CloudHsmResourceLimitExceededException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + end + class CloudHsmResourceNotFoundException < ServiceError # @param [Seahorse::Client::RequestContext] context diff --git a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/types.rb b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/types.rb index f2a885d5ee3..b26d381c9e4 100644 --- a/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/types.rb +++ b/gems/aws-sdk-cloudhsmv2/lib/aws-sdk-cloudhsmv2/types.rb @@ -200,6 +200,19 @@ class CloudHsmInvalidRequestException < Struct.new( include Aws::Structure end + # The request was rejected because it exceeds an CloudHSM limit. + # + # @!attribute [rw] message + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CloudHsmResourceLimitExceededException AWS API Documentation + # + class CloudHsmResourceLimitExceededException < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + # The request was rejected because it refers to a resource that cannot # be found. # @@ -299,6 +312,22 @@ class CloudHsmTagException < Struct.new( # the cluster. # @return [String] # + # @!attribute [rw] network_type + # The cluster's NetworkType can be set to either IPV4 (which is the + # default) or DUALSTACK. When set to IPV4, communication between your + # application and the Hardware Security Modules (HSMs) is restricted + # to the IPv4 protocol only. In contrast, the DUALSTACK network type + # enables communication over both the IPv4 and IPv6 protocols. To use + # the DUALSTACK option, you'll need to configure your Virtual Private + # Cloud (VPC) and subnets to support both IPv4 and IPv6. This involves + # adding IPv6 Classless Inter-Domain Routing (CIDR) blocks to the + # existing IPv4 CIDR blocks in your subnets. The choice between IPV4 + # and DUALSTACK network types determines the flexibility of the + # network addressing setup for your cluster. The DUALSTACK option + # provides more flexibility by allowing both IPv4 and IPv6 + # communication. + # @return [String] + # # @!attribute [rw] certificates # Contains one or more certificates or a certificate signing request # (CSR). @@ -328,6 +357,7 @@ class Cluster < Struct.new( :state_message, :subnet_mapping, :vpc_id, + :network_type, :certificates, :tag_list, :mode) @@ -407,6 +437,11 @@ class CopyBackupToRegionResponse < Struct.new( # * You can specify only one subnet per Availability Zone. # @return [Array] # + # @!attribute [rw] network_type + # The NetworkType to create a cluster with. The allowed values are + # `IPV4` and `DUALSTACK`. + # @return [String] + # # @!attribute [rw] tag_list # Tags to apply to the CloudHSM cluster during creation. # @return [Array] @@ -423,6 +458,7 @@ class CreateClusterRequest < Struct.new( :hsm_type, :source_backup_id, :subnet_ids, + :network_type, :tag_list, :mode) SENSITIVE = [] @@ -828,6 +864,11 @@ class GetResourcePolicyResponse < Struct.new( # The IP address of the HSM's elastic network interface (ENI). # @return [String] # + # @!attribute [rw] eni_ip_v6 + # The IPv6 address (if any) of the HSM's elastic network interface + # (ENI). + # @return [String] + # # @!attribute [rw] hsm_id # The HSM's identifier (ID). # @return [String] @@ -848,6 +889,7 @@ class Hsm < Struct.new( :subnet_id, :eni_id, :eni_ip, + :eni_ip_v6, :hsm_id, :state, :state_message) diff --git a/gems/aws-sdk-cloudhsmv2/sig/client.rbs b/gems/aws-sdk-cloudhsmv2/sig/client.rbs index 374376d6c0a..69352e06313 100644 --- a/gems/aws-sdk-cloudhsmv2/sig/client.rbs +++ b/gems/aws-sdk-cloudhsmv2/sig/client.rbs @@ -106,6 +106,7 @@ module Aws hsm_type: ::String, ?source_backup_id: ::String, subnet_ids: Array[::String], + ?network_type: ("IPV4" | "DUALSTACK"), ?tag_list: Array[ { key: ::String, @@ -212,7 +213,7 @@ module Aws interface _InitializeClusterResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::InitializeClusterResponse] - def state: () -> ("CREATE_IN_PROGRESS" | "UNINITIALIZED" | "INITIALIZE_IN_PROGRESS" | "INITIALIZED" | "ACTIVE" | "UPDATE_IN_PROGRESS" | "DELETE_IN_PROGRESS" | "DELETED" | "DEGRADED") + def state: () -> ("CREATE_IN_PROGRESS" | "UNINITIALIZED" | "INITIALIZE_IN_PROGRESS" | "INITIALIZED" | "ACTIVE" | "UPDATE_IN_PROGRESS" | "MODIFY_IN_PROGRESS" | "ROLLBACK_IN_PROGRESS" | "DELETE_IN_PROGRESS" | "DELETED" | "DEGRADED") def state_message: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudHSMV2/Client.html#initialize_cluster-instance_method diff --git a/gems/aws-sdk-cloudhsmv2/sig/errors.rbs b/gems/aws-sdk-cloudhsmv2/sig/errors.rbs index a52fbd5bcf4..e5b8fe30373 100644 --- a/gems/aws-sdk-cloudhsmv2/sig/errors.rbs +++ b/gems/aws-sdk-cloudhsmv2/sig/errors.rbs @@ -20,6 +20,9 @@ module Aws class CloudHsmInvalidRequestException < ::Aws::Errors::ServiceError def message: () -> ::String end + class CloudHsmResourceLimitExceededException < ::Aws::Errors::ServiceError + def message: () -> ::String + end class CloudHsmResourceNotFoundException < ::Aws::Errors::ServiceError def message: () -> ::String end diff --git a/gems/aws-sdk-cloudhsmv2/sig/types.rbs b/gems/aws-sdk-cloudhsmv2/sig/types.rbs index ac65bdedd11..5b2b0edffbd 100644 --- a/gems/aws-sdk-cloudhsmv2/sig/types.rbs +++ b/gems/aws-sdk-cloudhsmv2/sig/types.rbs @@ -56,6 +56,11 @@ module Aws::CloudHSMV2 SENSITIVE: [] end + class CloudHsmResourceLimitExceededException + attr_accessor message: ::String + SENSITIVE: [] + end + class CloudHsmResourceNotFoundException attr_accessor message: ::String SENSITIVE: [] @@ -81,10 +86,11 @@ module Aws::CloudHSMV2 attr_accessor pre_co_password: ::String attr_accessor security_group: ::String attr_accessor source_backup_id: ::String - attr_accessor state: ("CREATE_IN_PROGRESS" | "UNINITIALIZED" | "INITIALIZE_IN_PROGRESS" | "INITIALIZED" | "ACTIVE" | "UPDATE_IN_PROGRESS" | "DELETE_IN_PROGRESS" | "DELETED" | "DEGRADED") + attr_accessor state: ("CREATE_IN_PROGRESS" | "UNINITIALIZED" | "INITIALIZE_IN_PROGRESS" | "INITIALIZED" | "ACTIVE" | "UPDATE_IN_PROGRESS" | "MODIFY_IN_PROGRESS" | "ROLLBACK_IN_PROGRESS" | "DELETE_IN_PROGRESS" | "DELETED" | "DEGRADED") attr_accessor state_message: ::String attr_accessor subnet_mapping: ::Hash[::String, ::String] attr_accessor vpc_id: ::String + attr_accessor network_type: ("IPV4" | "DUALSTACK") attr_accessor certificates: Types::Certificates attr_accessor tag_list: ::Array[Types::Tag] attr_accessor mode: ("FIPS" | "NON_FIPS") @@ -108,6 +114,7 @@ module Aws::CloudHSMV2 attr_accessor hsm_type: ::String attr_accessor source_backup_id: ::String attr_accessor subnet_ids: ::Array[::String] + attr_accessor network_type: ("IPV4" | "DUALSTACK") attr_accessor tag_list: ::Array[Types::Tag] attr_accessor mode: ("FIPS" | "NON_FIPS") SENSITIVE: [] @@ -226,6 +233,7 @@ module Aws::CloudHSMV2 attr_accessor subnet_id: ::String attr_accessor eni_id: ::String attr_accessor eni_ip: ::String + attr_accessor eni_ip_v6: ::String attr_accessor hsm_id: ::String attr_accessor state: ("CREATE_IN_PROGRESS" | "ACTIVE" | "DEGRADED" | "DELETE_IN_PROGRESS" | "DELETED") attr_accessor state_message: ::String @@ -240,7 +248,7 @@ module Aws::CloudHSMV2 end class InitializeClusterResponse - attr_accessor state: ("CREATE_IN_PROGRESS" | "UNINITIALIZED" | "INITIALIZE_IN_PROGRESS" | "INITIALIZED" | "ACTIVE" | "UPDATE_IN_PROGRESS" | "DELETE_IN_PROGRESS" | "DELETED" | "DEGRADED") + attr_accessor state: ("CREATE_IN_PROGRESS" | "UNINITIALIZED" | "INITIALIZE_IN_PROGRESS" | "INITIALIZED" | "ACTIVE" | "UPDATE_IN_PROGRESS" | "MODIFY_IN_PROGRESS" | "ROLLBACK_IN_PROGRESS" | "DELETE_IN_PROGRESS" | "DELETED" | "DEGRADED") attr_accessor state_message: ::String SENSITIVE: [] end diff --git a/gems/aws-sdk-cloudwatchlogs/CHANGELOG.md b/gems/aws-sdk-cloudwatchlogs/CHANGELOG.md index 34595a6a292..e971e4c9591 100644 --- a/gems/aws-sdk-cloudwatchlogs/CHANGELOG.md +++ b/gems/aws-sdk-cloudwatchlogs/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.105.0 (2024-12-13) +------------------ + +* Feature - Limit PutIntegration IntegrationName and ListIntegrations IntegrationNamePrefix parameters to 50 characters + 1.104.0 (2024-12-02) ------------------ diff --git a/gems/aws-sdk-cloudwatchlogs/VERSION b/gems/aws-sdk-cloudwatchlogs/VERSION index 9f0b4661158..e38c0a0f75c 100644 --- a/gems/aws-sdk-cloudwatchlogs/VERSION +++ b/gems/aws-sdk-cloudwatchlogs/VERSION @@ -1 +1 @@ -1.104.0 +1.105.0 diff --git a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs.rb b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs.rb index edf9ca902d5..a1268cd014f 100644 --- a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs.rb +++ b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs.rb @@ -55,7 +55,7 @@ module Plugins autoload :Endpoints, 'aws-sdk-cloudwatchlogs/endpoints' autoload :EventStreams, 'aws-sdk-cloudwatchlogs/event_streams' - GEM_VERSION = '1.104.0' + GEM_VERSION = '1.105.0' end diff --git a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb index b8394f0090d..efe071fa5b4 100644 --- a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb +++ b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb @@ -6918,7 +6918,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-cloudwatchlogs' - context[:gem_version] = '1.104.0' + context[:gem_version] = '1.105.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-ec2/CHANGELOG.md b/gems/aws-sdk-ec2/CHANGELOG.md index 736b46aaf2f..39dae4b444e 100644 --- a/gems/aws-sdk-ec2/CHANGELOG.md +++ b/gems/aws-sdk-ec2/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.497.0 (2024-12-13) +------------------ + +* Feature - This release adds GroupId to the response for DeleteSecurityGroup. + 1.496.0 (2024-12-09) ------------------ diff --git a/gems/aws-sdk-ec2/VERSION b/gems/aws-sdk-ec2/VERSION index d3a3986fe79..dddf9b3d3e1 100644 --- a/gems/aws-sdk-ec2/VERSION +++ b/gems/aws-sdk-ec2/VERSION @@ -1 +1 @@ -1.496.0 +1.497.0 diff --git a/gems/aws-sdk-ec2/lib/aws-sdk-ec2.rb b/gems/aws-sdk-ec2/lib/aws-sdk-ec2.rb index 71299515fc9..e69883ceedb 100644 --- a/gems/aws-sdk-ec2/lib/aws-sdk-ec2.rb +++ b/gems/aws-sdk-ec2/lib/aws-sdk-ec2.rb @@ -78,7 +78,7 @@ module Plugins autoload :VpcPeeringConnection, 'aws-sdk-ec2/vpc_peering_connection' autoload :VpcAddress, 'aws-sdk-ec2/vpc_address' - GEM_VERSION = '1.496.0' + GEM_VERSION = '1.497.0' end diff --git a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb index 05eb177d04d..1b1fe542176 100644 --- a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb +++ b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb @@ -18398,7 +18398,10 @@ def delete_route_table(params = {}, options = {}) # If you have the required permissions, the error response is # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`. # - # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # @return [Types::DeleteSecurityGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::DeleteSecurityGroupResult#return #return} => Boolean + # * {Types::DeleteSecurityGroupResult#group_id #group_id} => String # # # @example Example: To delete a security group @@ -18421,6 +18424,11 @@ def delete_route_table(params = {}, options = {}) # dry_run: false, # }) # + # @example Response structure + # + # resp.return #=> Boolean + # resp.group_id #=> String + # # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup AWS API Documentation # # @overload delete_security_group(params = {}) @@ -60958,8 +60966,9 @@ def send_diagnostic_interrupt(params = {}, options = {}) # management account or delegated administrators for the organization. # # * An S3 bucket must be available before generating the report (you can - # create a new one or use an existing one), and it must have an - # appropriate bucket policy. For a sample S3 policy, see *Sample + # create a new one or use an existing one), it must be in the same + # Region where the report generation request is made, and it must have + # an appropriate bucket policy. For a sample S3 policy, see *Sample # Amazon S3 policy* under . # # * Trusted access must be enabled for the service for which the @@ -60992,7 +61001,9 @@ def send_diagnostic_interrupt(params = {}, options = {}) # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`. # # @option params [required, String] :s3_bucket - # The name of the S3 bucket where the report will be saved. + # The name of the S3 bucket where the report will be saved. The bucket + # must be in the same Region where the report generation request is + # made. # # @option params [String] :s3_prefix # The prefix for your S3 object. @@ -63071,7 +63082,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-ec2' - context[:gem_version] = '1.496.0' + context[:gem_version] = '1.497.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client_api.rb b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client_api.rb index 8796db50451..76f30444420 100644 --- a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client_api.rb +++ b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/client_api.rb @@ -740,6 +740,7 @@ module ClientApi DeleteRouteRequest = Shapes::StructureShape.new(name: 'DeleteRouteRequest') DeleteRouteTableRequest = Shapes::StructureShape.new(name: 'DeleteRouteTableRequest') DeleteSecurityGroupRequest = Shapes::StructureShape.new(name: 'DeleteSecurityGroupRequest') + DeleteSecurityGroupResult = Shapes::StructureShape.new(name: 'DeleteSecurityGroupResult') DeleteSnapshotRequest = Shapes::StructureShape.new(name: 'DeleteSnapshotRequest') DeleteSpotDatafeedSubscriptionRequest = Shapes::StructureShape.new(name: 'DeleteSpotDatafeedSubscriptionRequest') DeleteSubnetCidrReservationRequest = Shapes::StructureShape.new(name: 'DeleteSubnetCidrReservationRequest') @@ -6366,6 +6367,10 @@ module ClientApi DeleteSecurityGroupRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun")) DeleteSecurityGroupRequest.struct_class = Types::DeleteSecurityGroupRequest + DeleteSecurityGroupResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return")) + DeleteSecurityGroupResult.add_member(:group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "groupId")) + DeleteSecurityGroupResult.struct_class = Types::DeleteSecurityGroupResult + DeleteSnapshotRequest.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location_name: "SnapshotId")) DeleteSnapshotRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun")) DeleteSnapshotRequest.struct_class = Types::DeleteSnapshotRequest @@ -18289,7 +18294,7 @@ module ClientApi o.http_method = "POST" o.http_request_uri = "/" o.input = Shapes::ShapeRef.new(shape: DeleteSecurityGroupRequest) - o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure)) + o.output = Shapes::ShapeRef.new(shape: DeleteSecurityGroupResult) end) api.add_operation(:delete_snapshot, Seahorse::Model::Operation.new.tap do |o| diff --git a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/security_group.rb b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/security_group.rb index 64e6292a7e3..a9f6557ff3d 100644 --- a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/security_group.rb +++ b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/security_group.rb @@ -544,7 +544,7 @@ def delete_tags(options = {}) # without actually making the request, and provides an error response. # If you have the required permissions, the error response is # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`. - # @return [EmptyStructure] + # @return [Types::DeleteSecurityGroupResult] def delete(options = {}) options = options.merge(group_id: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do diff --git a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb index 4737dd3134a..b483fa408e6 100644 --- a/gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb +++ b/gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb @@ -16288,6 +16288,23 @@ class DeleteSecurityGroupRequest < Struct.new( include Aws::Structure end + # @!attribute [rw] return + # Returns `true` if the request succeeds; otherwise, returns an error. + # @return [Boolean] + # + # @!attribute [rw] group_id + # The ID of the deleted security group. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupResult AWS API Documentation + # + class DeleteSecurityGroupResult < Struct.new( + :return, + :group_id) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] snapshot_id # The ID of the EBS snapshot. # @return [String] @@ -35199,6 +35216,13 @@ class FederatedAuthenticationRequest < Struct.new( # and the request returns only results that match all of the specified # filters. # + # For more information, see [List and filter using the CLI and API][1] + # in the *Amazon EC2 User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html#Filtering_Resources_CLI + # # @!attribute [rw] name # The name of the filter. Filter names are case-sensitive. # @return [String] @@ -67490,7 +67514,9 @@ class StaleSecurityGroup < Struct.new( # @return [Boolean] # # @!attribute [rw] s3_bucket - # The name of the S3 bucket where the report will be saved. + # The name of the S3 bucket where the report will be saved. The bucket + # must be in the same Region where the report generation request is + # made. # @return [String] # # @!attribute [rw] s3_prefix diff --git a/gems/aws-sdk-ec2/sig/client.rbs b/gems/aws-sdk-ec2/sig/client.rbs index e6ae7f8ecd6..759de6e9a0f 100644 --- a/gems/aws-sdk-ec2/sig/client.rbs +++ b/gems/aws-sdk-ec2/sig/client.rbs @@ -4646,13 +4646,18 @@ module Aws ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] + interface _DeleteSecurityGroupResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::DeleteSecurityGroupResult] + def return: () -> bool + def group_id: () -> ::String + end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#delete_security_group-instance_method def delete_security_group: ( ?group_id: ::String, ?group_name: ::String, ?dry_run: bool - ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] - | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] + ) -> _DeleteSecurityGroupResponseSuccess + | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteSecurityGroupResponseSuccess # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#delete_snapshot-instance_method def delete_snapshot: ( diff --git a/gems/aws-sdk-ec2/sig/security_group.rbs b/gems/aws-sdk-ec2/sig/security_group.rbs index ba923df03a4..a5e8d329efb 100644 --- a/gems/aws-sdk-ec2/sig/security_group.rbs +++ b/gems/aws-sdk-ec2/sig/security_group.rbs @@ -202,8 +202,8 @@ module Aws def delete: ( ?group_name: ::String, ?dry_run: bool - ) -> ::Aws::EmptyStructure - | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure + ) -> Types::DeleteSecurityGroupResult + | (?Hash[Symbol, untyped]) -> Types::DeleteSecurityGroupResult # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/SecurityGroup.html#revoke_egress-instance_method def revoke_egress: ( diff --git a/gems/aws-sdk-ec2/sig/types.rbs b/gems/aws-sdk-ec2/sig/types.rbs index 33ab18d2a74..1bf1c48b87c 100644 --- a/gems/aws-sdk-ec2/sig/types.rbs +++ b/gems/aws-sdk-ec2/sig/types.rbs @@ -3759,6 +3759,12 @@ module Aws::EC2 SENSITIVE: [] end + class DeleteSecurityGroupResult + attr_accessor return: bool + attr_accessor group_id: ::String + SENSITIVE: [] + end + class DeleteSnapshotRequest attr_accessor snapshot_id: ::String attr_accessor dry_run: bool diff --git a/gems/aws-sdk-eks/CHANGELOG.md b/gems/aws-sdk-eks/CHANGELOG.md index 43af6637d02..5c40a3b849a 100644 --- a/gems/aws-sdk-eks/CHANGELOG.md +++ b/gems/aws-sdk-eks/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.123.0 (2024-12-13) +------------------ + +* Feature - Add NodeRepairConfig in CreateNodegroupRequest and UpdateNodegroupConfigRequest + 1.122.0 (2024-12-02) ------------------ diff --git a/gems/aws-sdk-eks/VERSION b/gems/aws-sdk-eks/VERSION index 2265fa2d9b7..ee6c5b2d9ec 100644 --- a/gems/aws-sdk-eks/VERSION +++ b/gems/aws-sdk-eks/VERSION @@ -1 +1 @@ -1.122.0 +1.123.0 diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks.rb index 28a2c762419..b6e27b1eacd 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks.rb @@ -55,7 +55,7 @@ module Plugins autoload :EndpointProvider, 'aws-sdk-eks/endpoint_provider' autoload :Endpoints, 'aws-sdk-eks/endpoints' - GEM_VERSION = '1.122.0' + GEM_VERSION = '1.123.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 7cb6271325b..d6edbdc7585 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb @@ -554,7 +554,7 @@ def associate_access_policy(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -638,7 +638,7 @@ def associate_encryption_config(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -1755,6 +1755,9 @@ def create_fargate_profile(params = {}, options = {}) # @option params [Types::NodegroupUpdateConfig] :update_config # The node group update configuration. # + # @option params [Types::NodeRepairConfig] :node_repair_config + # The node auto repair configuration for the node group. + # # @option params [String] :capacity_type # The capacity type for your node group. # @@ -1839,6 +1842,9 @@ def create_fargate_profile(params = {}, options = {}) # max_unavailable: 1, # max_unavailable_percentage: 1, # }, + # node_repair_config: { + # enabled: false, + # }, # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT, CAPACITY_BLOCK # version: "String", # release_version: "String", @@ -1884,6 +1890,7 @@ def create_fargate_profile(params = {}, options = {}) # resp.nodegroup.health.issues[0].resource_ids[0] #=> String # resp.nodegroup.update_config.max_unavailable #=> Integer # resp.nodegroup.update_config.max_unavailable_percentage #=> Integer + # resp.nodegroup.node_repair_config.enabled #=> Boolean # resp.nodegroup.launch_template.name #=> String # resp.nodegroup.launch_template.version #=> String # resp.nodegroup.launch_template.id #=> String @@ -2397,6 +2404,7 @@ def delete_fargate_profile(params = {}, options = {}) # resp.nodegroup.health.issues[0].resource_ids[0] #=> String # resp.nodegroup.update_config.max_unavailable #=> Integer # resp.nodegroup.update_config.max_unavailable_percentage #=> Integer + # resp.nodegroup.node_repair_config.enabled #=> Boolean # resp.nodegroup.launch_template.name #=> String # resp.nodegroup.launch_template.version #=> String # resp.nodegroup.launch_template.id #=> String @@ -3224,6 +3232,7 @@ def describe_insight(params = {}, options = {}) # resp.nodegroup.health.issues[0].resource_ids[0] #=> String # resp.nodegroup.update_config.max_unavailable #=> Integer # resp.nodegroup.update_config.max_unavailable_percentage #=> Integer + # resp.nodegroup.node_repair_config.enabled #=> Boolean # resp.nodegroup.launch_template.name #=> String # resp.nodegroup.launch_template.version #=> String # resp.nodegroup.launch_template.id #=> String @@ -3337,7 +3346,7 @@ def describe_pod_identity_association(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -3426,7 +3435,7 @@ def disassociate_access_policy(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -4669,7 +4678,7 @@ def update_access_entry(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -4872,7 +4881,7 @@ def update_addon(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -4936,7 +4945,7 @@ def update_cluster_config(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -5043,6 +5052,9 @@ def update_eks_anywhere_subscription(params = {}, options = {}) # @option params [Types::NodegroupUpdateConfig] :update_config # The node group update configuration. # + # @option params [Types::NodeRepairConfig] :node_repair_config + # The node auto repair configuration for the node group. + # # @option params [String] :client_request_token # A unique, case-sensitive identifier that you provide to ensure the # idempotency of the request. @@ -5090,6 +5102,9 @@ def update_eks_anywhere_subscription(params = {}, options = {}) # max_unavailable: 1, # max_unavailable_percentage: 1, # }, + # node_repair_config: { + # enabled: false, + # }, # client_request_token: "String", # }) # @@ -5099,7 +5114,7 @@ def update_eks_anywhere_subscription(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -5239,7 +5254,7 @@ def update_nodegroup_config(params = {}, options = {}) # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful" # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", "ZonalShiftConfigUpdate", "AutoModeUpdate" # resp.update.params #=> Array - # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" + # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "TaintsToAdd", "TaintsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "LaunchTemplateName", "LaunchTemplateVersion", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts", "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", "ConfigurationValues", "SecurityGroups", "Subnets", "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", "ZonalShiftConfig", "ComputeConfig", "StorageConfig", "KubernetesNetworkConfig" # resp.update.params[0].value #=> String # resp.update.created_at #=> Time # resp.update.errors #=> Array @@ -5333,7 +5348,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-eks' - context[:gem_version] = '1.122.0' + context[:gem_version] = '1.123.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 f9fdd631cf6..d5937fb258f 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 @@ -230,6 +230,7 @@ module ClientApi LogTypes = Shapes::ListShape.new(name: 'LogTypes') Logging = Shapes::StructureShape.new(name: 'Logging') MarketplaceInformation = Shapes::StructureShape.new(name: 'MarketplaceInformation') + NodeRepairConfig = Shapes::StructureShape.new(name: 'NodeRepairConfig') Nodegroup = Shapes::StructureShape.new(name: 'Nodegroup') NodegroupHealth = Shapes::StructureShape.new(name: 'NodegroupHealth') NodegroupIssueCode = Shapes::StringShape.new(name: 'NodegroupIssueCode') @@ -647,6 +648,7 @@ module ClientApi CreateNodegroupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true})) CreateNodegroupRequest.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate")) CreateNodegroupRequest.add_member(:update_config, Shapes::ShapeRef.new(shape: NodegroupUpdateConfig, location_name: "updateConfig")) + CreateNodegroupRequest.add_member(:node_repair_config, Shapes::ShapeRef.new(shape: NodeRepairConfig, location_name: "nodeRepairConfig")) CreateNodegroupRequest.add_member(:capacity_type, Shapes::ShapeRef.new(shape: CapacityTypes, location_name: "capacityType")) CreateNodegroupRequest.add_member(:version, Shapes::ShapeRef.new(shape: String, location_name: "version")) CreateNodegroupRequest.add_member(:release_version, Shapes::ShapeRef.new(shape: String, location_name: "releaseVersion")) @@ -1141,6 +1143,9 @@ module ClientApi MarketplaceInformation.add_member(:product_url, Shapes::ShapeRef.new(shape: String, location_name: "productUrl")) MarketplaceInformation.struct_class = Types::MarketplaceInformation + NodeRepairConfig.add_member(:enabled, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "enabled")) + NodeRepairConfig.struct_class = Types::NodeRepairConfig + Nodegroup.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, location_name: "nodegroupName")) Nodegroup.add_member(:nodegroup_arn, Shapes::ShapeRef.new(shape: String, location_name: "nodegroupArn")) Nodegroup.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName")) @@ -1162,6 +1167,7 @@ module ClientApi Nodegroup.add_member(:disk_size, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "diskSize")) Nodegroup.add_member(:health, Shapes::ShapeRef.new(shape: NodegroupHealth, location_name: "health")) Nodegroup.add_member(:update_config, Shapes::ShapeRef.new(shape: NodegroupUpdateConfig, location_name: "updateConfig")) + Nodegroup.add_member(:node_repair_config, Shapes::ShapeRef.new(shape: NodeRepairConfig, location_name: "nodeRepairConfig")) Nodegroup.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate")) Nodegroup.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags")) Nodegroup.struct_class = Types::Nodegroup @@ -1422,6 +1428,7 @@ module ClientApi UpdateNodegroupConfigRequest.add_member(:taints, Shapes::ShapeRef.new(shape: UpdateTaintsPayload, location_name: "taints")) UpdateNodegroupConfigRequest.add_member(:scaling_config, Shapes::ShapeRef.new(shape: NodegroupScalingConfig, location_name: "scalingConfig")) UpdateNodegroupConfigRequest.add_member(:update_config, Shapes::ShapeRef.new(shape: NodegroupUpdateConfig, location_name: "updateConfig")) + UpdateNodegroupConfigRequest.add_member(:node_repair_config, Shapes::ShapeRef.new(shape: NodeRepairConfig, location_name: "nodeRepairConfig")) UpdateNodegroupConfigRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true})) UpdateNodegroupConfigRequest.struct_class = Types::UpdateNodegroupConfigRequest 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 5add7d44daa..50f7bfc486f 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb @@ -1989,6 +1989,10 @@ class CreateFargateProfileResponse < Struct.new( # The node group update configuration. # @return [Types::NodegroupUpdateConfig] # + # @!attribute [rw] node_repair_config + # The node auto repair configuration for the node group. + # @return [Types::NodeRepairConfig] + # # @!attribute [rw] capacity_type # The capacity type for your node group. # @return [String] @@ -2048,6 +2052,7 @@ class CreateNodegroupRequest < Struct.new( :client_request_token, :launch_template, :update_config, + :node_repair_config, :capacity_type, :version, :release_version) @@ -4800,6 +4805,21 @@ class MarketplaceInformation < Struct.new( include Aws::Structure end + # The node auto repair configuration for the node group. + # + # @!attribute [rw] enabled + # Specifies whether to enable node auto repair for the node group. + # Node auto repair is disabled by default. + # @return [Boolean] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodeRepairConfig AWS API Documentation + # + class NodeRepairConfig < Struct.new( + :enabled) + SENSITIVE = [] + include Aws::Structure + end + # An object representing an Amazon EKS managed node group. # # @!attribute [rw] nodegroup_name @@ -4923,6 +4943,10 @@ class MarketplaceInformation < Struct.new( # The node group update configuration. # @return [Types::NodegroupUpdateConfig] # + # @!attribute [rw] node_repair_config + # The node auto repair configuration for the node group. + # @return [Types::NodeRepairConfig] + # # @!attribute [rw] launch_template # If a launch template was used to create the node group, then this is # the launch template that was used. @@ -4959,6 +4983,7 @@ class Nodegroup < Struct.new( :disk_size, :health, :update_config, + :node_repair_config, :launch_template, :tags) SENSITIVE = [] @@ -5644,11 +5669,61 @@ class RemoteAccessConfig < Struct.new( # # @!attribute [rw] remote_node_networks # The list of network CIDRs that can contain hybrid nodes. + # + # These CIDR blocks define the expected IP address range of the hybrid + # nodes that join the cluster. These blocks are typically determined + # by your network administrator. + # + # Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation + # (for example, ` 10.2.0.0/16`). + # + # It must satisfy the following requirements: + # + # * Each block must be within an `IPv4` RFC-1918 network range. + # Minimum allowed size is /24, maximum allowed size is /8. + # Publicly-routable addresses aren't supported. + # + # * Each block cannot overlap with the range of the VPC CIDR blocks + # for your EKS resources, or the block of the Kubernetes service IP + # range. + # + # * Each block must have a route to the VPC that uses the VPC CIDR + # blocks, not public IPs or Elastic IPs. There are many options + # including Transit Gateway, Site-to-Site VPN, or Direct Connect. + # + # * Each host must allow outbound connection to the EKS cluster + # control plane on TCP ports `443` and `10250`. + # + # * Each host must allow inbound connection from the EKS cluster + # control plane on TCP port 10250 for logs, exec and port-forward + # operations. + # + # * Each host must allow TCP and UDP network connectivity to and from + # other hosts that are running `CoreDNS` on UDP port `53` for + # service and pod DNS names. # @return [Array] # # @!attribute [rw] remote_pod_networks # The list of network CIDRs that can contain pods that run Kubernetes # webhooks on hybrid nodes. + # + # These CIDR blocks are determined by configuring your Container + # Network Interface (CNI) plugin. We recommend the Calico CNI or + # Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes + # isn't available for on-premises and edge locations. + # + # Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation + # (for example, ` 10.2.0.0/16`). + # + # It must satisfy the following requirements: + # + # * Each block must be within an `IPv4` RFC-1918 network range. + # Minimum allowed size is /24, maximum allowed size is /8. + # Publicly-routable addresses aren't supported. + # + # * Each block cannot overlap with the range of the VPC CIDR blocks + # for your EKS resources, or the block of the Kubernetes service IP + # range. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/RemoteNetworkConfigRequest AWS API Documentation @@ -5683,8 +5758,70 @@ class RemoteNetworkConfigResponse < Struct.new( # A network CIDR that can contain hybrid nodes. # + # These CIDR blocks define the expected IP address range of the hybrid + # nodes that join the cluster. These blocks are typically determined by + # your network administrator. + # + # Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation + # (for example, ` 10.2.0.0/16`). + # + # It must satisfy the following requirements: + # + # * Each block must be within an `IPv4` RFC-1918 network range. Minimum + # allowed size is /24, maximum allowed size is /8. Publicly-routable + # addresses aren't supported. + # + # * Each block cannot overlap with the range of the VPC CIDR blocks for + # your EKS resources, or the block of the Kubernetes service IP range. + # + # * Each block must have a route to the VPC that uses the VPC CIDR + # blocks, not public IPs or Elastic IPs. There are many options + # including Transit Gateway, Site-to-Site VPN, or Direct Connect. + # + # * Each host must allow outbound connection to the EKS cluster control + # plane on TCP ports `443` and `10250`. + # + # * Each host must allow inbound connection from the EKS cluster control + # plane on TCP port 10250 for logs, exec and port-forward operations. + # + # * Each host must allow TCP and UDP network connectivity to and from + # other hosts that are running `CoreDNS` on UDP port `53` for service + # and pod DNS names. + # # @!attribute [rw] cidrs # A network CIDR that can contain hybrid nodes. + # + # These CIDR blocks define the expected IP address range of the hybrid + # nodes that join the cluster. These blocks are typically determined + # by your network administrator. + # + # Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation + # (for example, ` 10.2.0.0/16`). + # + # It must satisfy the following requirements: + # + # * Each block must be within an `IPv4` RFC-1918 network range. + # Minimum allowed size is /24, maximum allowed size is /8. + # Publicly-routable addresses aren't supported. + # + # * Each block cannot overlap with the range of the VPC CIDR blocks + # for your EKS resources, or the block of the Kubernetes service IP + # range. + # + # * Each block must have a route to the VPC that uses the VPC CIDR + # blocks, not public IPs or Elastic IPs. There are many options + # including Transit Gateway, Site-to-Site VPN, or Direct Connect. + # + # * Each host must allow outbound connection to the EKS cluster + # control plane on TCP ports `443` and `10250`. + # + # * Each host must allow inbound connection from the EKS cluster + # control plane on TCP port 10250 for logs, exec and port-forward + # operations. + # + # * Each host must allow TCP and UDP network connectivity to and from + # other hosts that are running `CoreDNS` on UDP port `53` for + # service and pod DNS names. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/RemoteNodeNetwork AWS API Documentation @@ -5698,9 +5835,44 @@ class RemoteNodeNetwork < Struct.new( # A network CIDR that can contain pods that run Kubernetes webhooks on # hybrid nodes. # + # These CIDR blocks are determined by configuring your Container Network + # Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. + # Note that the Amazon VPC CNI plugin for Kubernetes isn't available + # for on-premises and edge locations. + # + # Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation + # (for example, ` 10.2.0.0/16`). + # + # It must satisfy the following requirements: + # + # * Each block must be within an `IPv4` RFC-1918 network range. Minimum + # allowed size is /24, maximum allowed size is /8. Publicly-routable + # addresses aren't supported. + # + # * Each block cannot overlap with the range of the VPC CIDR blocks for + # your EKS resources, or the block of the Kubernetes service IP range. + # # @!attribute [rw] cidrs # A network CIDR that can contain pods that run Kubernetes webhooks on # hybrid nodes. + # + # These CIDR blocks are determined by configuring your Container + # Network Interface (CNI) plugin. We recommend the Calico CNI or + # Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes + # isn't available for on-premises and edge locations. + # + # Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation + # (for example, ` 10.2.0.0/16`). + # + # It must satisfy the following requirements: + # + # * Each block must be within an `IPv4` RFC-1918 network range. + # Minimum allowed size is /24, maximum allowed size is /8. + # Publicly-routable addresses aren't supported. + # + # * Each block cannot overlap with the range of the VPC CIDR blocks + # for your EKS resources, or the block of the Kubernetes service IP + # range. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/RemotePodNetwork AWS API Documentation @@ -6516,6 +6688,10 @@ class UpdateLabelsPayload < Struct.new( # The node group update configuration. # @return [Types::NodegroupUpdateConfig] # + # @!attribute [rw] node_repair_config + # The node auto repair configuration for the node group. + # @return [Types::NodeRepairConfig] + # # @!attribute [rw] client_request_token # A unique, case-sensitive identifier that you provide to ensure the # idempotency of the request. @@ -6533,6 +6709,7 @@ class UpdateNodegroupConfigRequest < Struct.new( :taints, :scaling_config, :update_config, + :node_repair_config, :client_request_token) SENSITIVE = [] include Aws::Structure diff --git a/gems/aws-sdk-eks/sig/client.rbs b/gems/aws-sdk-eks/sig/client.rbs index 5895c9b0854..a05adcae1ff 100644 --- a/gems/aws-sdk-eks/sig/client.rbs +++ b/gems/aws-sdk-eks/sig/client.rbs @@ -339,6 +339,9 @@ module Aws max_unavailable: ::Integer?, max_unavailable_percentage: ::Integer? }, + ?node_repair_config: { + enabled: bool? + }, ?capacity_type: ("ON_DEMAND" | "SPOT" | "CAPACITY_BLOCK"), ?version: ::String, ?release_version: ::String @@ -978,6 +981,9 @@ module Aws max_unavailable: ::Integer?, max_unavailable_percentage: ::Integer? }, + ?node_repair_config: { + enabled: bool? + }, ?client_request_token: ::String ) -> _UpdateNodegroupConfigResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateNodegroupConfigResponseSuccess diff --git a/gems/aws-sdk-eks/sig/types.rbs b/gems/aws-sdk-eks/sig/types.rbs index 6755c631389..19ea6d1c774 100644 --- a/gems/aws-sdk-eks/sig/types.rbs +++ b/gems/aws-sdk-eks/sig/types.rbs @@ -394,6 +394,7 @@ module Aws::EKS attr_accessor client_request_token: ::String attr_accessor launch_template: Types::LaunchTemplateSpecification attr_accessor update_config: Types::NodegroupUpdateConfig + attr_accessor node_repair_config: Types::NodeRepairConfig attr_accessor capacity_type: ("ON_DEMAND" | "SPOT" | "CAPACITY_BLOCK") attr_accessor version: ::String attr_accessor release_version: ::String @@ -1056,6 +1057,11 @@ module Aws::EKS SENSITIVE: [] end + class NodeRepairConfig + attr_accessor enabled: bool + SENSITIVE: [] + end + class Nodegroup attr_accessor nodegroup_name: ::String attr_accessor nodegroup_arn: ::String @@ -1078,6 +1084,7 @@ module Aws::EKS attr_accessor disk_size: ::Integer attr_accessor health: Types::NodegroupHealth attr_accessor update_config: Types::NodegroupUpdateConfig + attr_accessor node_repair_config: Types::NodeRepairConfig attr_accessor launch_template: Types::LaunchTemplateSpecification attr_accessor tags: ::Hash[::String, ::String] SENSITIVE: [] @@ -1419,6 +1426,7 @@ module Aws::EKS attr_accessor taints: Types::UpdateTaintsPayload attr_accessor scaling_config: Types::NodegroupScalingConfig attr_accessor update_config: Types::NodegroupUpdateConfig + attr_accessor node_repair_config: Types::NodeRepairConfig attr_accessor client_request_token: ::String SENSITIVE: [] end @@ -1445,7 +1453,7 @@ module Aws::EKS end class UpdateParam - attr_accessor type: ("Version" | "PlatformVersion" | "EndpointPrivateAccess" | "EndpointPublicAccess" | "ClusterLogging" | "DesiredSize" | "LabelsToAdd" | "LabelsToRemove" | "TaintsToAdd" | "TaintsToRemove" | "MaxSize" | "MinSize" | "ReleaseVersion" | "PublicAccessCidrs" | "LaunchTemplateName" | "LaunchTemplateVersion" | "IdentityProviderConfig" | "EncryptionConfig" | "AddonVersion" | "ServiceAccountRoleArn" | "ResolveConflicts" | "MaxUnavailable" | "MaxUnavailablePercentage" | "ConfigurationValues" | "SecurityGroups" | "Subnets" | "AuthenticationMode" | "PodIdentityAssociations" | "UpgradePolicy" | "ZonalShiftConfig" | "ComputeConfig" | "StorageConfig" | "KubernetesNetworkConfig") + attr_accessor type: ("Version" | "PlatformVersion" | "EndpointPrivateAccess" | "EndpointPublicAccess" | "ClusterLogging" | "DesiredSize" | "LabelsToAdd" | "LabelsToRemove" | "TaintsToAdd" | "TaintsToRemove" | "MaxSize" | "MinSize" | "ReleaseVersion" | "PublicAccessCidrs" | "LaunchTemplateName" | "LaunchTemplateVersion" | "IdentityProviderConfig" | "EncryptionConfig" | "AddonVersion" | "ServiceAccountRoleArn" | "ResolveConflicts" | "MaxUnavailable" | "MaxUnavailablePercentage" | "NodeRepairEnabled" | "ConfigurationValues" | "SecurityGroups" | "Subnets" | "AuthenticationMode" | "PodIdentityAssociations" | "UpgradePolicy" | "ZonalShiftConfig" | "ComputeConfig" | "StorageConfig" | "KubernetesNetworkConfig") attr_accessor value: ::String SENSITIVE: [] end diff --git a/gems/aws-sdk-mediaconnect/CHANGELOG.md b/gems/aws-sdk-mediaconnect/CHANGELOG.md index ced4339371a..192e049109f 100644 --- a/gems/aws-sdk-mediaconnect/CHANGELOG.md +++ b/gems/aws-sdk-mediaconnect/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.73.0 (2024-12-13) +------------------ + +* Feature - AWS Elemental MediaConnect Gateway now supports Source Specific Multicast (SSM) for ingress bridges. This enables you to specify a source IP address in addition to a multicast IP when creating or updating an ingress bridge source. + 1.72.0 (2024-10-18) ------------------ diff --git a/gems/aws-sdk-mediaconnect/VERSION b/gems/aws-sdk-mediaconnect/VERSION index 0834888f558..5e3a4256626 100644 --- a/gems/aws-sdk-mediaconnect/VERSION +++ b/gems/aws-sdk-mediaconnect/VERSION @@ -1 +1 @@ -1.72.0 +1.73.0 diff --git a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect.rb b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect.rb index 85b95b80f3e..17db7dfe5dd 100644 --- a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect.rb +++ b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect.rb @@ -55,7 +55,7 @@ module Plugins autoload :EndpointProvider, 'aws-sdk-mediaconnect/endpoint_provider' autoload :Endpoints, 'aws-sdk-mediaconnect/endpoints' - GEM_VERSION = '1.72.0' + GEM_VERSION = '1.73.0' end diff --git a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client.rb b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client.rb index e830bbedb75..c7c90788c6e 100644 --- a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client.rb +++ b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client.rb @@ -527,6 +527,9 @@ def add_bridge_outputs(params = {}, options = {}) # }, # network_source: { # multicast_ip: "__string", # required + # multicast_source_settings: { + # multicast_source_ip: "__string", + # }, # name: "__string", # required # network_name: "__string", # required # port: 1, # required @@ -545,6 +548,7 @@ def add_bridge_outputs(params = {}, options = {}) # resp.sources[0].flow_source.name #=> String # resp.sources[0].flow_source.output_arn #=> String # resp.sources[0].network_source.multicast_ip #=> String + # resp.sources[0].network_source.multicast_source_settings.multicast_source_ip #=> String # resp.sources[0].network_source.name #=> String # resp.sources[0].network_source.network_name #=> String # resp.sources[0].network_source.port #=> Integer @@ -1010,6 +1014,9 @@ def add_flow_vpc_interfaces(params = {}, options = {}) # }, # network_source: { # multicast_ip: "__string", # required + # multicast_source_settings: { + # multicast_source_ip: "__string", + # }, # name: "__string", # required # network_name: "__string", # required # port: 1, # required @@ -1054,6 +1061,7 @@ def add_flow_vpc_interfaces(params = {}, options = {}) # resp.bridge.sources[0].flow_source.name #=> String # resp.bridge.sources[0].flow_source.output_arn #=> String # resp.bridge.sources[0].network_source.multicast_ip #=> String + # resp.bridge.sources[0].network_source.multicast_source_settings.multicast_source_ip #=> String # resp.bridge.sources[0].network_source.name #=> String # resp.bridge.sources[0].network_source.network_name #=> String # resp.bridge.sources[0].network_source.port #=> Integer @@ -1763,6 +1771,7 @@ def deregister_gateway_instance(params = {}, options = {}) # resp.bridge.sources[0].flow_source.name #=> String # resp.bridge.sources[0].flow_source.output_arn #=> String # resp.bridge.sources[0].network_source.multicast_ip #=> String + # resp.bridge.sources[0].network_source.multicast_source_settings.multicast_source_ip #=> String # resp.bridge.sources[0].network_source.name #=> String # resp.bridge.sources[0].network_source.network_name #=> String # resp.bridge.sources[0].network_source.port #=> Integer @@ -3127,6 +3136,7 @@ def untag_resource(params = {}, options = {}) # resp.bridge.sources[0].flow_source.name #=> String # resp.bridge.sources[0].flow_source.output_arn #=> String # resp.bridge.sources[0].network_source.multicast_ip #=> String + # resp.bridge.sources[0].network_source.multicast_source_settings.multicast_source_ip #=> String # resp.bridge.sources[0].network_source.name #=> String # resp.bridge.sources[0].network_source.network_name #=> String # resp.bridge.sources[0].network_source.port #=> Integer @@ -3220,6 +3230,9 @@ def update_bridge_output(params = {}, options = {}) # }, # network_source: { # multicast_ip: "__string", + # multicast_source_settings: { + # multicast_source_ip: "__string", + # }, # network_name: "__string", # port: 1, # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener, srt-caller, fujitsu-qos, udp @@ -3235,6 +3248,7 @@ def update_bridge_output(params = {}, options = {}) # resp.source.flow_source.name #=> String # resp.source.flow_source.output_arn #=> String # resp.source.network_source.multicast_ip #=> String + # resp.source.network_source.multicast_source_settings.multicast_source_ip #=> String # resp.source.network_source.name #=> String # resp.source.network_source.network_name #=> String # resp.source.network_source.port #=> Integer @@ -4122,7 +4136,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-mediaconnect' - context[:gem_version] = '1.72.0' + context[:gem_version] = '1.73.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client_api.rb b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client_api.rb index a383131401b..0111cef97dd 100644 --- a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client_api.rb +++ b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/client_api.rb @@ -155,6 +155,7 @@ module ClientApi MessageDetail = Shapes::StructureShape.new(name: 'MessageDetail') Messages = Shapes::StructureShape.new(name: 'Messages') MonitoringConfig = Shapes::StructureShape.new(name: 'MonitoringConfig') + MulticastSourceSettings = Shapes::StructureShape.new(name: 'MulticastSourceSettings') NetworkInterfaceType = Shapes::StringShape.new(name: 'NetworkInterfaceType') NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException') Offering = Shapes::StructureShape.new(name: 'Offering') @@ -297,6 +298,7 @@ module ClientApi AddBridgeNetworkOutputRequest.struct_class = Types::AddBridgeNetworkOutputRequest AddBridgeNetworkSourceRequest.add_member(:multicast_ip, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "multicastIp")) + AddBridgeNetworkSourceRequest.add_member(:multicast_source_settings, Shapes::ShapeRef.new(shape: MulticastSourceSettings, location_name: "multicastSourceSettings")) AddBridgeNetworkSourceRequest.add_member(:name, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "name")) AddBridgeNetworkSourceRequest.add_member(:network_name, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "networkName")) AddBridgeNetworkSourceRequest.add_member(:port, Shapes::ShapeRef.new(shape: __integer, required: true, location_name: "port")) @@ -434,6 +436,7 @@ module ClientApi BridgeNetworkOutput.struct_class = Types::BridgeNetworkOutput BridgeNetworkSource.add_member(:multicast_ip, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "multicastIp")) + BridgeNetworkSource.add_member(:multicast_source_settings, Shapes::ShapeRef.new(shape: MulticastSourceSettings, location_name: "multicastSourceSettings")) BridgeNetworkSource.add_member(:name, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "name")) BridgeNetworkSource.add_member(:network_name, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "networkName")) BridgeNetworkSource.add_member(:port, Shapes::ShapeRef.new(shape: __integer, required: true, location_name: "port")) @@ -887,6 +890,9 @@ module ClientApi MonitoringConfig.add_member(:thumbnail_state, Shapes::ShapeRef.new(shape: ThumbnailState, location_name: "thumbnailState")) MonitoringConfig.struct_class = Types::MonitoringConfig + MulticastSourceSettings.add_member(:multicast_source_ip, Shapes::ShapeRef.new(shape: __string, location_name: "multicastSourceIp")) + MulticastSourceSettings.struct_class = Types::MulticastSourceSettings + NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "message")) NotFoundException.struct_class = Types::NotFoundException @@ -1132,6 +1138,7 @@ module ClientApi UpdateBridgeNetworkOutputRequest.struct_class = Types::UpdateBridgeNetworkOutputRequest UpdateBridgeNetworkSourceRequest.add_member(:multicast_ip, Shapes::ShapeRef.new(shape: __string, location_name: "multicastIp")) + UpdateBridgeNetworkSourceRequest.add_member(:multicast_source_settings, Shapes::ShapeRef.new(shape: MulticastSourceSettings, location_name: "multicastSourceSettings")) UpdateBridgeNetworkSourceRequest.add_member(:network_name, Shapes::ShapeRef.new(shape: __string, location_name: "networkName")) UpdateBridgeNetworkSourceRequest.add_member(:port, Shapes::ShapeRef.new(shape: __integer, location_name: "port")) UpdateBridgeNetworkSourceRequest.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "protocol")) diff --git a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/types.rb b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/types.rb index 0e3c33a5f4e..3a898398a67 100644 --- a/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/types.rb +++ b/gems/aws-sdk-mediaconnect/lib/aws-sdk-mediaconnect/types.rb @@ -82,6 +82,10 @@ class AddBridgeNetworkOutputRequest < Struct.new( # The network source multicast IP. # @return [String] # + # @!attribute [rw] multicast_source_settings + # The IP address of the source for source-specific multicast (SSM). + # @return [Types::MulticastSourceSettings] + # # @!attribute [rw] name # The name of the network source. This name is used to reference the # source and must be unique among sources in this bridge. @@ -103,6 +107,7 @@ class AddBridgeNetworkOutputRequest < Struct.new( # class AddBridgeNetworkSourceRequest < Struct.new( :multicast_ip, + :multicast_source_settings, :name, :network_name, :port, @@ -767,6 +772,10 @@ class BridgeNetworkOutput < Struct.new( # The network source multicast IP. # @return [String] # + # @!attribute [rw] multicast_source_settings + # The IP address of the source for source-specific multicast (SSM). + # @return [Types::MulticastSourceSettings] + # # @!attribute [rw] name # The name of the network source. # @return [String] @@ -787,6 +796,7 @@ class BridgeNetworkOutput < Struct.new( # class BridgeNetworkSource < Struct.new( :multicast_ip, + :multicast_source_settings, :name, :network_name, :port, @@ -3095,6 +3105,19 @@ class MonitoringConfig < Struct.new( include Aws::Structure end + # The settings related to the multicast source. + # + # @!attribute [rw] multicast_source_ip + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/MulticastSourceSettings AWS API Documentation + # + class MulticastSourceSettings < Struct.new( + :multicast_source_ip) + SENSITIVE = [] + include Aws::Structure + end + # Exception raised by AWS Elemental MediaConnect. See the error message # and documentation for the operation for more information on the cause # of this exception. @@ -4369,6 +4392,10 @@ class UpdateBridgeNetworkOutputRequest < Struct.new( # The network source multicast IP. # @return [String] # + # @!attribute [rw] multicast_source_settings + # The IP address of the source for source-specific multicast (SSM). + # @return [Types::MulticastSourceSettings] + # # @!attribute [rw] network_name # The network source's gateway network name. # @return [String] @@ -4385,6 +4412,7 @@ class UpdateBridgeNetworkOutputRequest < Struct.new( # class UpdateBridgeNetworkSourceRequest < Struct.new( :multicast_ip, + :multicast_source_settings, :network_name, :port, :protocol) diff --git a/gems/aws-sdk-mediaconnect/sig/client.rbs b/gems/aws-sdk-mediaconnect/sig/client.rbs index 8b6704ae42b..21debebe766 100644 --- a/gems/aws-sdk-mediaconnect/sig/client.rbs +++ b/gems/aws-sdk-mediaconnect/sig/client.rbs @@ -117,6 +117,9 @@ module Aws }?, network_source: { multicast_ip: ::String, + multicast_source_settings: { + multicast_source_ip: ::String? + }?, name: ::String, network_name: ::String, port: ::Integer, @@ -349,6 +352,9 @@ module Aws }?, network_source: { multicast_ip: ::String, + multicast_source_settings: { + multicast_source_ip: ::String? + }?, name: ::String, network_name: ::String, port: ::Integer, @@ -1050,6 +1056,9 @@ module Aws }, ?network_source: { multicast_ip: ::String?, + multicast_source_settings: { + multicast_source_ip: ::String? + }?, network_name: ::String?, port: ::Integer?, protocol: ("zixi-push" | "rtp-fec" | "rtp" | "zixi-pull" | "rist" | "st2110-jpegxs" | "cdi" | "srt-listener" | "srt-caller" | "fujitsu-qos" | "udp")? diff --git a/gems/aws-sdk-mediaconnect/sig/types.rbs b/gems/aws-sdk-mediaconnect/sig/types.rbs index 09a25ba859b..4946a87bcc5 100644 --- a/gems/aws-sdk-mediaconnect/sig/types.rbs +++ b/gems/aws-sdk-mediaconnect/sig/types.rbs @@ -27,6 +27,7 @@ module Aws::MediaConnect class AddBridgeNetworkSourceRequest attr_accessor multicast_ip: ::String + attr_accessor multicast_source_settings: Types::MulticastSourceSettings attr_accessor name: ::String attr_accessor network_name: ::String attr_accessor port: ::Integer @@ -216,6 +217,7 @@ module Aws::MediaConnect class BridgeNetworkSource attr_accessor multicast_ip: ::String + attr_accessor multicast_source_settings: Types::MulticastSourceSettings attr_accessor name: ::String attr_accessor network_name: ::String attr_accessor port: ::Integer @@ -860,6 +862,11 @@ module Aws::MediaConnect SENSITIVE: [] end + class MulticastSourceSettings + attr_accessor multicast_source_ip: ::String + SENSITIVE: [] + end + class NotFoundException attr_accessor message: ::String SENSITIVE: [] @@ -1188,6 +1195,7 @@ module Aws::MediaConnect class UpdateBridgeNetworkSourceRequest attr_accessor multicast_ip: ::String + attr_accessor multicast_source_settings: Types::MulticastSourceSettings attr_accessor network_name: ::String attr_accessor port: ::Integer attr_accessor protocol: ("zixi-push" | "rtp-fec" | "rtp" | "zixi-pull" | "rist" | "st2110-jpegxs" | "cdi" | "srt-listener" | "srt-caller" | "fujitsu-qos" | "udp") diff --git a/gems/aws-sdk-networkmanager/CHANGELOG.md b/gems/aws-sdk-networkmanager/CHANGELOG.md index 76ee8823d94..c0c99e27611 100644 --- a/gems/aws-sdk-networkmanager/CHANGELOG.md +++ b/gems/aws-sdk-networkmanager/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.57.0 (2024-12-13) +------------------ + +* Feature - There was a sentence fragment in UpdateDirectConnectGatewayAttachment that was causing customer confusion as to whether it's an incomplete sentence or if it was a typo. Removed the fragment. + 1.56.0 (2024-11-25) ------------------ diff --git a/gems/aws-sdk-networkmanager/VERSION b/gems/aws-sdk-networkmanager/VERSION index 3ebf789f5a8..373aea97570 100644 --- a/gems/aws-sdk-networkmanager/VERSION +++ b/gems/aws-sdk-networkmanager/VERSION @@ -1 +1 @@ -1.56.0 +1.57.0 diff --git a/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager.rb b/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager.rb index 0bd23960c4e..76d7cadbc12 100644 --- a/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager.rb +++ b/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager.rb @@ -54,7 +54,7 @@ module Plugins autoload :EndpointProvider, 'aws-sdk-networkmanager/endpoint_provider' autoload :Endpoints, 'aws-sdk-networkmanager/endpoints' - GEM_VERSION = '1.56.0' + GEM_VERSION = '1.57.0' end diff --git a/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/client.rb b/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/client.rb index f93f84a9cfa..2081a7dbc41 100644 --- a/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/client.rb +++ b/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/client.rb @@ -5349,7 +5349,7 @@ def update_device(params = {}, options = {}) # One or more edge locations to update for the Direct Connect gateway # attachment. The updated array of edge locations overwrites the # previous array of locations. `EdgeLocations` is only used for Direct - # Connect gateway attachments. Do + # Connect gateway attachments. # # @return [Types::UpdateDirectConnectGatewayAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -5723,7 +5723,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-networkmanager' - context[:gem_version] = '1.56.0' + context[:gem_version] = '1.57.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/types.rb b/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/types.rb index de6a31aa9ed..5692f946f02 100644 --- a/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/types.rb +++ b/gems/aws-sdk-networkmanager/lib/aws-sdk-networkmanager/types.rb @@ -5909,7 +5909,7 @@ class UpdateDeviceResponse < Struct.new( # One or more edge locations to update for the Direct Connect gateway # attachment. The updated array of edge locations overwrites the # previous array of locations. `EdgeLocations` is only used for Direct - # Connect gateway attachments. Do + # Connect gateway attachments. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateDirectConnectGatewayAttachmentRequest AWS API Documentation diff --git a/gems/aws-sdk-servicediscovery/CHANGELOG.md b/gems/aws-sdk-servicediscovery/CHANGELOG.md index b6faddaab63..7779a590c56 100644 --- a/gems/aws-sdk-servicediscovery/CHANGELOG.md +++ b/gems/aws-sdk-servicediscovery/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.79.0 (2024-12-13) +------------------ + +* Feature - AWS Cloud Map now supports service-level attributes, allowing you to associate custom metadata directly with services. These attributes can be retrieved, updated, and deleted using the new GetServiceAttributes, UpdateServiceAttributes, and DeleteServiceAttributes API calls. + 1.78.0 (2024-11-18) ------------------ diff --git a/gems/aws-sdk-servicediscovery/VERSION b/gems/aws-sdk-servicediscovery/VERSION index 54227249d1f..b3a8c61e6a8 100644 --- a/gems/aws-sdk-servicediscovery/VERSION +++ b/gems/aws-sdk-servicediscovery/VERSION @@ -1 +1 @@ -1.78.0 +1.79.0 diff --git a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery.rb b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery.rb index 5b1d88ea417..41e7db01c6a 100644 --- a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery.rb +++ b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery.rb @@ -54,7 +54,7 @@ module Plugins autoload :EndpointProvider, 'aws-sdk-servicediscovery/endpoint_provider' autoload :Endpoints, 'aws-sdk-servicediscovery/endpoints' - GEM_VERSION = '1.78.0' + GEM_VERSION = '1.79.0' end diff --git a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client.rb b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client.rb index 599aa3f724f..970169b636c 100644 --- a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client.rb +++ b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client.rb @@ -1008,8 +1008,9 @@ def delete_namespace(params = {}, options = {}) req.send_request(options) end - # Deletes a specified service. If the service still contains one or more - # registered instances, the request fails. + # Deletes a specified service and all associated service attributes. If + # the service still contains one or more registered instances, the + # request fails. # # @option params [required, String] :id # The ID of the service that you want to delete. @@ -1044,6 +1045,49 @@ def delete_service(params = {}, options = {}) req.send_request(options) end + # Deletes specific attributes associated with a service. + # + # @option params [required, String] :service_id + # The ID of the service from which the attributes will be deleted. + # + # @option params [required, Array] :attributes + # A list of keys corresponding to each attribute that you want to + # delete. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # + # @example Example: DeleteServiceAttributes example + # + # # Example: Delete service attribute by providing attribute key and service ID + # + # resp = client.delete_service_attributes({ + # attributes: [ + # "port", + # ], + # service_id: "srv-e4anhexample0004", + # }) + # + # resp.to_h outputs the following: + # { + # } + # + # @example Request syntax with placeholder values + # + # resp = client.delete_service_attributes({ + # service_id: "ResourceId", # required + # attributes: ["ServiceAttributeKey"], # required + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceAttributes AWS API Documentation + # + # @overload delete_service_attributes(params = {}) + # @param [Hash] params ({}) + def delete_service_attributes(params = {}, options = {}) + req = build_request(:delete_service_attributes, params) + req.send_request(options) + end + # Deletes the Amazon Route 53 DNS records and health check, if any, that # Cloud Map created for the specified instance. # @@ -1629,6 +1673,55 @@ def get_service(params = {}, options = {}) req.send_request(options) end + # Returns the attributes associated with a specified service. + # + # @option params [required, String] :service_id + # The ID of the service that you want to get attributes for. + # + # @return [Types::GetServiceAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetServiceAttributesResponse#service_attributes #service_attributes} => Types::ServiceAttributes + # + # + # @example Example: GetServiceAttributes Example + # + # # This example gets the attributes for a specified service. + # + # resp = client.get_service_attributes({ + # service_id: "srv-e4anhexample0004", + # }) + # + # resp.to_h outputs the following: + # { + # service_attributes: { + # attributes: { + # "port" => "80", + # }, + # service_arn: "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-e4anhexample0004", + # }, + # } + # + # @example Request syntax with placeholder values + # + # resp = client.get_service_attributes({ + # service_id: "ResourceId", # required + # }) + # + # @example Response structure + # + # resp.service_attributes.service_arn #=> String + # resp.service_attributes.attributes #=> Hash + # resp.service_attributes.attributes["ServiceAttributeKey"] #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceAttributes AWS API Documentation + # + # @overload get_service_attributes(params = {}) + # @param [Hash] params ({}) + def get_service_attributes(params = {}, options = {}) + req = build_request(:get_service_attributes, params) + req.send_request(options) + end + # Lists summary information about the instances that you registered by # using a specified service. # @@ -2598,9 +2691,9 @@ def update_instance_custom_health_status(params = {}, options = {}) # * {Types::UpdatePrivateDnsNamespaceResponse#operation_id #operation_id} => String # # - # @example Example: To update a private DNS namespace + # @example Example: To update a public DNS namespace # - # # The following example updates the description of a private DNS namespace. + # # The following example updates the description of a public DNS namespace. # # resp = client.update_private_dns_namespace({ # id: "ns-bk3aEXAMPLE", @@ -2612,12 +2705,12 @@ def update_instance_custom_health_status(params = {}, options = {}) # # resp.to_h outputs the following: # { - # operation_id: "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE", + # operation_id: "ft52xe2koxhoeormaceymagglsdjEXAMPLE", # } # - # @example Example: To update a public DNS namespace + # @example Example: To update a private DNS namespace # - # # The following example updates the description of a public DNS namespace. + # # The following example updates the description of a private DNS namespace. # # resp = client.update_private_dns_namespace({ # id: "ns-bk3aEXAMPLE", @@ -2629,7 +2722,7 @@ def update_instance_custom_health_status(params = {}, options = {}) # # resp.to_h outputs the following: # { - # operation_id: "ft52xe2koxhoeormaceymagglsdjEXAMPLE", + # operation_id: "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE", # } # # @example Request syntax with placeholder values @@ -2742,7 +2835,8 @@ def update_public_dns_namespace(params = {}, options = {}) # The ID of the service that you want to update. # # @option params [required, Types::ServiceChange] :service - # A complex type that contains the new settings for the service. + # A complex type that contains the new settings for the service. You can + # specify a maximum of 30 attributes (key-value pairs). # # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -2812,6 +2906,51 @@ def update_service(params = {}, options = {}) req.send_request(options) end + # Submits a request to update a specified service to add service-level + # attributes. + # + # @option params [required, String] :service_id + # The ID of the service that you want to update. + # + # @option params [required, Hash] :attributes + # A string map that contains attribute key-value pairs. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # + # @example Example: UpdateServiceAttributes Example + # + # # This example submits a request to update the specified service to add a port attribute with the value 80. + # + # resp = client.update_service_attributes({ + # attributes: { + # "port" => "80", + # }, + # service_id: "srv-e4anhexample0004", + # }) + # + # resp.to_h outputs the following: + # { + # } + # + # @example Request syntax with placeholder values + # + # resp = client.update_service_attributes({ + # service_id: "ResourceId", # required + # attributes: { # required + # "ServiceAttributeKey" => "ServiceAttributeValue", + # }, + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceAttributes AWS API Documentation + # + # @overload update_service_attributes(params = {}) + # @param [Hash] params ({}) + def update_service_attributes(params = {}, options = {}) + req = build_request(:update_service_attributes, params) + req.send_request(options) + end + # @!endgroup # @param params ({}) @@ -2830,7 +2969,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-servicediscovery' - context[:gem_version] = '1.78.0' + context[:gem_version] = '1.79.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client_api.rb b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client_api.rb index 8b9c16bcab0..917d243c62a 100644 --- a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client_api.rb +++ b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/client_api.rb @@ -32,6 +32,8 @@ module ClientApi CustomHealthStatus = Shapes::StringShape.new(name: 'CustomHealthStatus') DeleteNamespaceRequest = Shapes::StructureShape.new(name: 'DeleteNamespaceRequest') DeleteNamespaceResponse = Shapes::StructureShape.new(name: 'DeleteNamespaceResponse') + DeleteServiceAttributesRequest = Shapes::StructureShape.new(name: 'DeleteServiceAttributesRequest') + DeleteServiceAttributesResponse = Shapes::StructureShape.new(name: 'DeleteServiceAttributesResponse') DeleteServiceRequest = Shapes::StructureShape.new(name: 'DeleteServiceRequest') DeleteServiceResponse = Shapes::StructureShape.new(name: 'DeleteServiceResponse') DeregisterInstanceRequest = Shapes::StructureShape.new(name: 'DeregisterInstanceRequest') @@ -60,6 +62,8 @@ module ClientApi GetNamespaceResponse = Shapes::StructureShape.new(name: 'GetNamespaceResponse') GetOperationRequest = Shapes::StructureShape.new(name: 'GetOperationRequest') GetOperationResponse = Shapes::StructureShape.new(name: 'GetOperationResponse') + GetServiceAttributesRequest = Shapes::StructureShape.new(name: 'GetServiceAttributesRequest') + GetServiceAttributesResponse = Shapes::StructureShape.new(name: 'GetServiceAttributesResponse') GetServiceRequest = Shapes::StructureShape.new(name: 'GetServiceRequest') GetServiceResponse = Shapes::StructureShape.new(name: 'GetServiceResponse') HealthCheckConfig = Shapes::StructureShape.new(name: 'HealthCheckConfig') @@ -146,6 +150,12 @@ module ClientApi SOAChange = Shapes::StructureShape.new(name: 'SOAChange') Service = Shapes::StructureShape.new(name: 'Service') ServiceAlreadyExists = Shapes::StructureShape.new(name: 'ServiceAlreadyExists') + ServiceAttributeKey = Shapes::StringShape.new(name: 'ServiceAttributeKey') + ServiceAttributeKeyList = Shapes::ListShape.new(name: 'ServiceAttributeKeyList') + ServiceAttributeValue = Shapes::StringShape.new(name: 'ServiceAttributeValue') + ServiceAttributes = Shapes::StructureShape.new(name: 'ServiceAttributes') + ServiceAttributesLimitExceededException = Shapes::StructureShape.new(name: 'ServiceAttributesLimitExceededException') + ServiceAttributesMap = Shapes::MapShape.new(name: 'ServiceAttributesMap') ServiceChange = Shapes::StructureShape.new(name: 'ServiceChange') ServiceFilter = Shapes::StructureShape.new(name: 'ServiceFilter') ServiceFilterName = Shapes::StringShape.new(name: 'ServiceFilterName') @@ -174,6 +184,8 @@ module ClientApi UpdatePrivateDnsNamespaceResponse = Shapes::StructureShape.new(name: 'UpdatePrivateDnsNamespaceResponse') UpdatePublicDnsNamespaceRequest = Shapes::StructureShape.new(name: 'UpdatePublicDnsNamespaceRequest') UpdatePublicDnsNamespaceResponse = Shapes::StructureShape.new(name: 'UpdatePublicDnsNamespaceResponse') + UpdateServiceAttributesRequest = Shapes::StructureShape.new(name: 'UpdateServiceAttributesRequest') + UpdateServiceAttributesResponse = Shapes::StructureShape.new(name: 'UpdateServiceAttributesResponse') UpdateServiceRequest = Shapes::StructureShape.new(name: 'UpdateServiceRequest') UpdateServiceResponse = Shapes::StructureShape.new(name: 'UpdateServiceResponse') @@ -233,6 +245,12 @@ module ClientApi DeleteNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId")) DeleteNamespaceResponse.struct_class = Types::DeleteNamespaceResponse + DeleteServiceAttributesRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId")) + DeleteServiceAttributesRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: ServiceAttributeKeyList, required: true, location_name: "Attributes")) + DeleteServiceAttributesRequest.struct_class = Types::DeleteServiceAttributesRequest + + DeleteServiceAttributesResponse.struct_class = Types::DeleteServiceAttributesResponse + DeleteServiceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id")) DeleteServiceRequest.struct_class = Types::DeleteServiceRequest @@ -317,6 +335,12 @@ module ClientApi GetOperationResponse.add_member(:operation, Shapes::ShapeRef.new(shape: Operation, location_name: "Operation")) GetOperationResponse.struct_class = Types::GetOperationResponse + GetServiceAttributesRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId")) + GetServiceAttributesRequest.struct_class = Types::GetServiceAttributesRequest + + GetServiceAttributesResponse.add_member(:service_attributes, Shapes::ShapeRef.new(shape: ServiceAttributes, location_name: "ServiceAttributes")) + GetServiceAttributesResponse.struct_class = Types::GetServiceAttributesResponse + GetServiceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id")) GetServiceRequest.struct_class = Types::GetServiceRequest @@ -559,6 +583,18 @@ module ClientApi ServiceAlreadyExists.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ServiceId")) ServiceAlreadyExists.struct_class = Types::ServiceAlreadyExists + ServiceAttributeKeyList.member = Shapes::ShapeRef.new(shape: ServiceAttributeKey) + + ServiceAttributes.add_member(:service_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ServiceArn")) + ServiceAttributes.add_member(:attributes, Shapes::ShapeRef.new(shape: ServiceAttributesMap, location_name: "Attributes")) + ServiceAttributes.struct_class = Types::ServiceAttributes + + ServiceAttributesLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message")) + ServiceAttributesLimitExceededException.struct_class = Types::ServiceAttributesLimitExceededException + + ServiceAttributesMap.key = Shapes::ShapeRef.new(shape: ServiceAttributeKey) + ServiceAttributesMap.value = Shapes::ShapeRef.new(shape: ServiceAttributeValue) + ServiceChange.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description")) ServiceChange.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfigChange, location_name: "DnsConfig")) ServiceChange.add_member(:health_check_config, Shapes::ShapeRef.new(shape: HealthCheckConfig, location_name: "HealthCheckConfig")) @@ -641,6 +677,12 @@ module ClientApi UpdatePublicDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId")) UpdatePublicDnsNamespaceResponse.struct_class = Types::UpdatePublicDnsNamespaceResponse + UpdateServiceAttributesRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId")) + UpdateServiceAttributesRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: ServiceAttributesMap, required: true, location_name: "Attributes")) + UpdateServiceAttributesRequest.struct_class = Types::UpdateServiceAttributesRequest + + UpdateServiceAttributesResponse.struct_class = Types::UpdateServiceAttributesResponse + UpdateServiceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id")) UpdateServiceRequest.add_member(:service, Shapes::ShapeRef.new(shape: ServiceChange, required: true, location_name: "Service")) UpdateServiceRequest.struct_class = Types::UpdateServiceRequest @@ -744,6 +786,16 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceInUse) end) + api.add_operation(:delete_service_attributes, Seahorse::Model::Operation.new.tap do |o| + o.name = "DeleteServiceAttributes" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: DeleteServiceAttributesRequest) + o.output = Shapes::ShapeRef.new(shape: DeleteServiceAttributesResponse) + o.errors << Shapes::ShapeRef.new(shape: InvalidInput) + o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound) + end) + api.add_operation(:deregister_instance, Seahorse::Model::Operation.new.tap do |o| o.name = "DeregisterInstance" o.http_method = "POST" @@ -845,6 +897,16 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound) end) + api.add_operation(:get_service_attributes, Seahorse::Model::Operation.new.tap do |o| + o.name = "GetServiceAttributes" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: GetServiceAttributesRequest) + o.output = Shapes::ShapeRef.new(shape: GetServiceAttributesResponse) + o.errors << Shapes::ShapeRef.new(shape: InvalidInput) + o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound) + end) + api.add_operation(:list_instances, Seahorse::Model::Operation.new.tap do |o| o.name = "ListInstances" o.http_method = "POST" @@ -1008,6 +1070,17 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: InvalidInput) o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound) end) + + api.add_operation(:update_service_attributes, Seahorse::Model::Operation.new.tap do |o| + o.name = "UpdateServiceAttributes" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: UpdateServiceAttributesRequest) + o.output = Shapes::ShapeRef.new(shape: UpdateServiceAttributesResponse) + o.errors << Shapes::ShapeRef.new(shape: InvalidInput) + o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound) + o.errors << Shapes::ShapeRef.new(shape: ServiceAttributesLimitExceededException) + end) end end diff --git a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/errors.rb b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/errors.rb index 26779742273..3bcda753301 100644 --- a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/errors.rb +++ b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/errors.rb @@ -39,6 +39,7 @@ module Aws::ServiceDiscovery # * {ResourceLimitExceeded} # * {ResourceNotFoundException} # * {ServiceAlreadyExists} + # * {ServiceAttributesLimitExceededException} # * {ServiceNotFound} # * {TooManyTagsException} # @@ -253,6 +254,21 @@ def service_id end end + class ServiceAttributesLimitExceededException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::ServiceDiscovery::Types::ServiceAttributesLimitExceededException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + end + class ServiceNotFound < ServiceError # @param [Seahorse::Client::RequestContext] context diff --git a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/types.rb b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/types.rb index db0ea5c9c38..99ee83747da 100644 --- a/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/types.rb +++ b/gems/aws-sdk-servicediscovery/lib/aws-sdk-servicediscovery/types.rb @@ -372,6 +372,28 @@ class DeleteNamespaceResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] service_id + # The ID of the service from which the attributes will be deleted. + # @return [String] + # + # @!attribute [rw] attributes + # A list of keys corresponding to each attribute that you want to + # delete. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceAttributesRequest AWS API Documentation + # + class DeleteServiceAttributesRequest < Struct.new( + :service_id, + :attributes) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceAttributesResponse AWS API Documentation + # + class DeleteServiceAttributesResponse < Aws::EmptyStructure; end + # @!attribute [rw] id # The ID of the service that you want to delete. # @return [String] @@ -558,9 +580,6 @@ class DiscoverInstancesRevisionResponse < Struct.new( # records that you want Cloud Map to create when you register an # instance. # - # The record types of a service can only be changed by deleting the - # service and recreating it with a new `Dnsconfig`. - # # @!attribute [rw] namespace_id # *Use NamespaceId in [Service][1] instead.* # @@ -634,6 +653,10 @@ class DiscoverInstancesRevisionResponse < Struct.new( # An array that contains one `DnsRecord` object for each Route 53 DNS # record that you want Cloud Map to create when you register an # instance. + # + # The record type of a service specified in a `DnsRecord` object + # can't be updated. To change a record type, you need to delete the + # service and recreate it with a new `DnsConfig`. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfig AWS API Documentation @@ -981,6 +1004,31 @@ class GetOperationResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] service_id + # The ID of the service that you want to get attributes for. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceAttributesRequest AWS API Documentation + # + class GetServiceAttributesRequest < Struct.new( + :service_id) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] service_attributes + # A complex type that contains the service ARN and a list of attribute + # key-value pairs associated with the service. + # @return [Types::ServiceAttributes] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceAttributesResponse AWS API Documentation + # + class GetServiceAttributesResponse < Struct.new( + :service_attributes) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] id # The ID of the service that you want to get settings for. # @return [String] @@ -2875,6 +2923,47 @@ class ServiceAlreadyExists < Struct.new( include Aws::Structure end + # A complex type that contains information about attributes associated + # with a specific service. + # + # @!attribute [rw] service_arn + # The ARN of the service that the attributes are associated with. + # @return [String] + # + # @!attribute [rw] attributes + # A string map that contains the following information for the service + # that you specify in `ServiceArn`: + # + # * The attributes that apply to the service. + # + # * For each attribute, the applicable value. + # + # You can specify a total of 30 attributes. + # @return [Hash] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceAttributes AWS API Documentation + # + class ServiceAttributes < Struct.new( + :service_arn, + :attributes) + SENSITIVE = [] + include Aws::Structure + end + + # The attribute can't be added to the service because you've exceeded + # the quota for the number of attributes you can add to a service. + # + # @!attribute [rw] message + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceAttributesLimitExceededException AWS API Documentation + # + class ServiceAttributesLimitExceededException < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + # A complex type that contains changes to an existing service. # # @!attribute [rw] description @@ -3294,12 +3383,34 @@ class UpdatePublicDnsNamespaceResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] service_id + # The ID of the service that you want to update. + # @return [String] + # + # @!attribute [rw] attributes + # A string map that contains attribute key-value pairs. + # @return [Hash] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceAttributesRequest AWS API Documentation + # + class UpdateServiceAttributesRequest < Struct.new( + :service_id, + :attributes) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceAttributesResponse AWS API Documentation + # + class UpdateServiceAttributesResponse < Aws::EmptyStructure; end + # @!attribute [rw] id # The ID of the service that you want to update. # @return [String] # # @!attribute [rw] service - # A complex type that contains the new settings for the service. + # A complex type that contains the new settings for the service. You + # can specify a maximum of 30 attributes (key-value pairs). # @return [Types::ServiceChange] # # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceRequest AWS API Documentation diff --git a/gems/aws-sdk-servicediscovery/sig/client.rbs b/gems/aws-sdk-servicediscovery/sig/client.rbs index 2ecdd51c6b3..2705dedf487 100644 --- a/gems/aws-sdk-servicediscovery/sig/client.rbs +++ b/gems/aws-sdk-servicediscovery/sig/client.rbs @@ -202,6 +202,16 @@ module Aws ) -> _DeleteServiceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteServiceResponseSuccess + interface _DeleteServiceAttributesResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::DeleteServiceAttributesResponse] + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ServiceDiscovery/Client.html#delete_service_attributes-instance_method + def delete_service_attributes: ( + service_id: ::String, + attributes: Array[::String] + ) -> _DeleteServiceAttributesResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteServiceAttributesResponseSuccess + interface _DeregisterInstanceResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeregisterInstanceResponse] def operation_id: () -> ::String @@ -295,6 +305,16 @@ module Aws ) -> _GetServiceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetServiceResponseSuccess + interface _GetServiceAttributesResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::GetServiceAttributesResponse] + def service_attributes: () -> Types::ServiceAttributes + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ServiceDiscovery/Client.html#get_service_attributes-instance_method + def get_service_attributes: ( + service_id: ::String + ) -> _GetServiceAttributesResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetServiceAttributesResponseSuccess + interface _ListInstancesResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListInstancesResponse] def instances: () -> ::Array[Types::InstanceSummary] @@ -502,6 +522,16 @@ module Aws } ) -> _UpdateServiceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateServiceResponseSuccess + + interface _UpdateServiceAttributesResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::UpdateServiceAttributesResponse] + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ServiceDiscovery/Client.html#update_service_attributes-instance_method + def update_service_attributes: ( + service_id: ::String, + attributes: Hash[::String, ::String] + ) -> _UpdateServiceAttributesResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateServiceAttributesResponseSuccess end end end diff --git a/gems/aws-sdk-servicediscovery/sig/errors.rbs b/gems/aws-sdk-servicediscovery/sig/errors.rbs index 928c2de4c2f..40809379663 100644 --- a/gems/aws-sdk-servicediscovery/sig/errors.rbs +++ b/gems/aws-sdk-servicediscovery/sig/errors.rbs @@ -52,6 +52,9 @@ module Aws def creator_request_id: () -> ::String def service_id: () -> ::String end + class ServiceAttributesLimitExceededException < ::Aws::Errors::ServiceError + def message: () -> ::String + end class ServiceNotFound < ::Aws::Errors::ServiceError def message: () -> ::String end diff --git a/gems/aws-sdk-servicediscovery/sig/types.rbs b/gems/aws-sdk-servicediscovery/sig/types.rbs index 6308555672b..3feffd060db 100644 --- a/gems/aws-sdk-servicediscovery/sig/types.rbs +++ b/gems/aws-sdk-servicediscovery/sig/types.rbs @@ -83,6 +83,15 @@ module Aws::ServiceDiscovery SENSITIVE: [] end + class DeleteServiceAttributesRequest + attr_accessor service_id: ::String + attr_accessor attributes: ::Array[::String] + SENSITIVE: [] + end + + class DeleteServiceAttributesResponse < Aws::EmptyStructure + end + class DeleteServiceRequest attr_accessor id: ::String SENSITIVE: [] @@ -204,6 +213,16 @@ module Aws::ServiceDiscovery SENSITIVE: [] end + class GetServiceAttributesRequest + attr_accessor service_id: ::String + SENSITIVE: [] + end + + class GetServiceAttributesResponse + attr_accessor service_attributes: Types::ServiceAttributes + SENSITIVE: [] + end + class GetServiceRequest attr_accessor id: ::String SENSITIVE: [] @@ -528,6 +547,17 @@ module Aws::ServiceDiscovery SENSITIVE: [] end + class ServiceAttributes + attr_accessor service_arn: ::String + attr_accessor attributes: ::Hash[::String, ::String] + SENSITIVE: [] + end + + class ServiceAttributesLimitExceededException + attr_accessor message: ::String + SENSITIVE: [] + end + class ServiceChange attr_accessor description: ::String attr_accessor dns_config: Types::DnsConfigChange @@ -634,6 +664,15 @@ module Aws::ServiceDiscovery SENSITIVE: [] end + class UpdateServiceAttributesRequest + attr_accessor service_id: ::String + attr_accessor attributes: ::Hash[::String, ::String] + SENSITIVE: [] + end + + class UpdateServiceAttributesResponse < Aws::EmptyStructure + end + class UpdateServiceRequest attr_accessor id: ::String attr_accessor service: Types::ServiceChange