Repository: getmoto/moto
Pull request #7615 (2024-04-21 12:11:25)

chore: update SSM Instance parameters
Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action


Patch:
diff --git a/moto/ec2/models/elastic_ip_addresses.py b/moto/ec2/models/elastic_ip_addresses.py
index e435e3c8e..fdc14d2d0 100644
--- a/moto/ec2/models/elastic_ip_addresses.py
+++ b/moto/ec2/models/elastic_ip_addresses.py
@@ -239,6 +239,11 @@ class ElasticAddressBackend:
 
         return matches
 
+    def describe_addresses_attribute(
+        self, allocation_ids: Optional[List[str]] = None
+    ) -> List[ElasticAddress]:
+        return self.describe_addresses(allocation_ids)
+
     def disassociate_address(
         self, address: Optional[str] = None, association_id: Optional[str] = None
     ) -> None:
diff --git a/moto/ec2/responses/elastic_ip_addresses.py b/moto/ec2/responses/elastic_ip_addresses.py
index c421fc8c9..ac9d1729b 100644
--- a/moto/ec2/responses/elastic_ip_addresses.py
+++ b/moto/ec2/responses/elastic_ip_addresses.py
@@ -82,6 +82,13 @@ class ElasticIPAddresses(EC2BaseResponse):
         template = self.response_template(DESCRIBE_ADDRESS_RESPONSE)
         return template.render(addresses=addresses)
 
+    def describe_addresses_attribute(self) -> str:
+        self.error_on_dryrun()
+        allocation_ids = self._get_multi_param("AllocationId")
+        addresses = self.ec2_backend.describe_addresses_attribute(allocation_ids)
+        template = self.response_template(DESCRIBE_ADDRESS_ATTRIBUTE_RESPONSE)
+        return template.render(addresses=addresses)
+
     def disassociate_address(self) -> str:
         if (
             "PublicIp" not in self.querystring
@@ -180,6 +187,26 @@ DESCRIBE_ADDRESS_RESPONSE = """<DescribeAddressesResponse xmlns="http://ec2.amaz
   </addressesSet>
 </DescribeAddressesResponse>"""
 
+DESCRIBE_ADDRESS_ATTRIBUTE_RESPONSE = """<DescribeAddressesAttributeResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-15/">
+  <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+  <addressSet>
+    {% for address in addresses %}
+        <item>
+          <publicIp>{{ address.public_ip }}</publicIp>
+          {% if address.allocation_id %}
+            <allocationId>{{ address.allocation_id }}</allocationId>
+          {% endif %}
+          {% if address.ptrRecord %}
+            <ptrRecord>{{ address.ptrRecord }}</ptrRecord>
+          {% endif %}
+          {% if address.ptrRecordUpdate %}
+            <ptrRecordUpdate>{{ address.ptrRecordUpdate }}</ptrRecordUpdate>
+          {% endif %}
+        </item>
+    {% endfor %}
+  </addressSet>
+</DescribeAddressesAttributeResponse>"""
+
 DISASSOCIATE_ADDRESS_RESPONSE = """<DisassociateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-15/">
   <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
   <return>true</return>
diff --git a/moto/ssm/resources/regions.json b/moto/ssm/resources/regions.json
index 87ccd9ca8..95db69e13 100644
--- a/moto/ssm/resources/regions.json
+++ b/moto/ssm/resources/regions.json
@@ -941,6 +941,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.af-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -2628,6 +2631,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -4872,6 +4878,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -7446,6 +7455,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-northeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -9381,6 +9393,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -11415,6 +11430,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -13153,6 +13171,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -15154,6 +15175,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-southeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -17848,6 +17872,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -19913,6 +19940,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ap-southeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -23077,6 +23107,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.ca-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -24954,6 +24987,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "storagegateway": {
+                "Value": "storagegateway",
+                "endpoint": {
+                  "Value": "storagegateway.ca-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "sts": {
                 "Value": "sts",
                 "endpoint": {
@@ -25925,6 +25967,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.cn-north-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -27297,6 +27342,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.cn-northwest-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -29346,6 +29394,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.eu-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -32995,6 +33046,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.eu-north-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -34883,6 +34937,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.eu-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -38329,6 +38386,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.eu-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -41060,6 +41120,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.eu-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -43262,6 +43325,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.eu-west-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -46288,6 +46354,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -47846,6 +47915,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.me-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -49653,6 +49725,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.sa-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -52338,6 +52413,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -55248,6 +55326,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.us-east-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -57235,6 +57316,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -57597,6 +57681,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ses": {
+                "Value": "ses",
+                "endpoint": {
+                  "Value": "email.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "signer": {
                 "Value": "signer",
                 "endpoint": {
@@ -58811,6 +58904,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.us-gov-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -60651,6 +60747,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.us-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
@@ -63267,6 +63366,9 @@
                 "Value": "launch-wizard",
                 "endpoint": {
                   "Value": "launchwizard.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "launchwizard": {
diff --git a/moto/ssm/resources/services.json b/moto/ssm/resources/services.json
index 86b4d1dd0..47ec67a4f 100644
--- a/moto/ssm/resources/services.json
+++ b/moto/ssm/resources/services.json
@@ -32638,31 +32638,6 @@
               }
             }
           },
-          "iot-roborunner": {
-            "longName": {
-              "Value": "AWS IoT RoboRunner"
-            },
-            "regions": {
-              "eu-central-1": {
-                "Value": "eu-central-1",
-                "endpoint": {
-                  "Value": "iotroborunner.eu-central-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "us-east-1": {
-                "Value": "us-east-1",
-                "endpoint": {
-                  "Value": "iotroborunner.us-east-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              }
-            }
-          },
           "iot1click-devices": {
             "Value": "iot1click-devices",
             "longName": {
@@ -36786,60 +36761,90 @@
                 "Value": "af-south-1",
                 "endpoint": {
                   "Value": "launchwizard.af-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-east-1": {
                 "Value": "ap-east-1",
                 "endpoint": {
                   "Value": "launchwizard.ap-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-northeast-1": {
                 "Value": "ap-northeast-1",
                 "endpoint": {
                   "Value": "launchwizard.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-northeast-2": {
                 "Value": "ap-northeast-2",
                 "endpoint": {
                   "Value": "launchwizard.ap-northeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-northeast-3": {
                 "Value": "ap-northeast-3",
                 "endpoint": {
                   "Value": "launchwizard.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-south-1": {
                 "Value": "ap-south-1",
                 "endpoint": {
                   "Value": "launchwizard.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-south-2": {
                 "Value": "ap-south-2",
                 "endpoint": {
                   "Value": "launchwizard.ap-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-southeast-1": {
                 "Value": "ap-southeast-1",
                 "endpoint": {
                   "Value": "launchwizard.ap-southeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-southeast-2": {
                 "Value": "ap-southeast-2",
                 "endpoint": {
                   "Value": "launchwizard.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-southeast-3": {
                 "Value": "ap-southeast-3",
                 "endpoint": {
                   "Value": "launchwizard.ap-southeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-southeast-4": {
@@ -36855,24 +36860,36 @@
                 "Value": "ca-central-1",
                 "endpoint": {
                   "Value": "launchwizard.ca-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "cn-north-1": {
                 "Value": "cn-north-1",
                 "endpoint": {
                   "Value": "launchwizard.cn-north-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "cn-northwest-1": {
                 "Value": "cn-northwest-1",
                 "endpoint": {
                   "Value": "launchwizard.cn-northwest-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-central-1": {
                 "Value": "eu-central-1",
                 "endpoint": {
                   "Value": "launchwizard.eu-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-central-2": {
@@ -36888,12 +36905,18 @@
                 "Value": "eu-north-1",
                 "endpoint": {
                   "Value": "launchwizard.eu-north-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-south-1": {
                 "Value": "eu-south-1",
                 "endpoint": {
                   "Value": "launchwizard.eu-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-south-2": {
@@ -36909,72 +36932,108 @@
                 "Value": "eu-west-1",
                 "endpoint": {
                   "Value": "launchwizard.eu-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-west-2": {
                 "Value": "eu-west-2",
                 "endpoint": {
                   "Value": "launchwizard.eu-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-west-3": {
                 "Value": "eu-west-3",
                 "endpoint": {
                   "Value": "launchwizard.eu-west-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "me-central-1": {
                 "Value": "me-central-1",
                 "endpoint": {
                   "Value": "launchwizard.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "me-south-1": {
                 "Value": "me-south-1",
                 "endpoint": {
                   "Value": "launchwizard.me-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sa-east-1": {
                 "Value": "sa-east-1",
                 "endpoint": {
                   "Value": "launchwizard.sa-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-east-1": {
                 "Value": "us-east-1",
                 "endpoint": {
                   "Value": "launchwizard.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-east-2": {
                 "Value": "us-east-2",
                 "endpoint": {
                   "Value": "launchwizard.us-east-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-gov-east-1": {
                 "Value": "us-gov-east-1",
                 "endpoint": {
                   "Value": "launchwizard.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-gov-west-1": {
                 "Value": "us-gov-west-1",
                 "endpoint": {
                   "Value": "launchwizard.us-gov-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-west-1": {
                 "Value": "us-west-1",
                 "endpoint": {
                   "Value": "launchwizard.us-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-west-2": {
                 "Value": "us-west-2",
                 "endpoint": {
                   "Value": "launchwizard.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               }
             }
@@ -58055,6 +58114,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "us-gov-east-1": {
+                "Value": "us-gov-east-1",
+                "endpoint": {
+                  "Value": "email.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "us-gov-west-1": {
                 "Value": "us-gov-west-1",
                 "endpoint": {
@@ -61343,6 +61411,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ca-west-1": {
+                "Value": "ca-west-1",
+                "endpoint": {
+                  "Value": "storagegateway.ca-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "cn-north-1": {
                 "Value": "cn-north-1",
                 "endpoint": {


Test patch:
diff --git a/.github/workflows/tests_sdk_ruby.yml b/.github/workflows/tests_sdk_ruby.yml
index 61098b4e8..4faad6f66 100644
--- a/.github/workflows/tests_sdk_ruby.yml
+++ b/.github/workflows/tests_sdk_ruby.yml
@@ -8,7 +8,7 @@ jobs:
 
     strategy:
       matrix:
-        ruby-version: ['3.2']
+        ruby-version: ['3.3']
 
     steps:
       - uses: actions/checkout@v4
@@ -19,7 +19,7 @@ jobs:
       - name: Set up Python 3.8
         uses: actions/setup-python@v5
         with:
-          python-version: "3.8"
+          python-version: "3.10"
       - name: Start MotoServer
         run: |
           pip install build
diff --git a/other_langs/tests_ruby/Gemfile b/other_langs/tests_ruby/Gemfile
index e26f68af1..78e3b2ea6 100644
--- a/other_langs/tests_ruby/Gemfile
+++ b/other_langs/tests_ruby/Gemfile
@@ -1,4 +1,4 @@
 source "https://rubygems.org"
 
-gem 'aws-sdk-sqs', '1.65.0'
+gem 'aws-sdk-sqs', '1.70.0'
 gem "minitest"
\ No newline at end of file
diff --git a/tests/test_ec2/test_elastic_ip_addresses.py b/tests/test_ec2/test_elastic_ip_addresses.py
index c43884291..c891173af 100644
--- a/tests/test_ec2/test_elastic_ip_addresses.py
+++ b/tests/test_ec2/test_elastic_ip_addresses.py
@@ -708,3 +708,16 @@ def test_describe_addresses_with_vpc_associated_eni():
     assert address["PrivateIpAddress"] == eni.private_ip_address
     assert address["AssociationId"] == association_id
     assert address["NetworkInterfaceOwnerId"] == eni.owner_id
+
+
+@mock_aws
+def test_describe_addresses_attributes():
+    client = boto3.client("ec2", region_name="us-east-1")
+    eip = client.allocate_address(Domain="vpc")
+
+    addresses = client.describe_addresses_attribute(
+        AllocationIds=[eip["AllocationId"]], Attribute="domain-name"
+    )["Addresses"]
+    assert addresses == [
+        {"PublicIp": eip["PublicIp"], "AllocationId": eip["AllocationId"]}
+    ]