Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
Moto Changelog
==============

5.0.18
-----
Docker Digest for 5.0.18: <autopopulateddigest>

New Methods:
* RDS:
* delete_db_proxy()
* deregister_db_proxy_targets()
* describe_db_proxy_target_groups()
* describe_db_proxy_targets()
* modify_db_proxy_target_group()
* register_db_proxy_targets()

Miscellaneous:
* CloudFormation: create_change_set() now supports the UsePreviousTemplate-parameter
* CognitoIDP: MFA-related features (like AssociateSoftwareToken) now also work with non-Python SDK's
* ECS: update_service() now correctly sets the createdAt/updatedAt values when forceNewDeployment=True
* ELBv2: remove_tags() now throws a ResourceNotFound Exception


5.0.17
-----
Docker Digest for 5.0.17: _sha256:39372432cb24ab46211ca45648ca787e104589070b0d0a13ea0d73c6eb550079_
Expand Down
8 changes: 7 additions & 1 deletion IMPLEMENTATION_COVERAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6379,6 +6379,7 @@
- [ ] start_asset_bundle_export_job
- [ ] start_asset_bundle_import_job
- [ ] start_dashboard_snapshot_job
- [ ] start_dashboard_snapshot_job_schedule
- [ ] tag_resource
- [ ] untag_resource
- [ ] update_account_customization
Expand Down Expand Up @@ -6640,7 +6641,7 @@

## redshift
<details>
<summary>22% implemented</summary>
<summary>21% implemented</summary>

- [ ] accept_reserved_node_exchange
- [ ] add_partner
Expand All @@ -6664,6 +6665,7 @@
- [ ] create_event_subscription
- [ ] create_hsm_client_certificate
- [ ] create_hsm_configuration
- [ ] create_integration
- [ ] create_redshift_idc_application
- [ ] create_scheduled_action
- [X] create_snapshot_copy_grant
Expand All @@ -6682,6 +6684,7 @@
- [ ] delete_event_subscription
- [ ] delete_hsm_client_certificate
- [ ] delete_hsm_configuration
- [ ] delete_integration
- [ ] delete_partner
- [ ] delete_redshift_idc_application
- [ ] delete_resource_policy
Expand Down Expand Up @@ -6714,6 +6717,7 @@
- [ ] describe_hsm_client_certificates
- [ ] describe_hsm_configurations
- [ ] describe_inbound_integrations
- [ ] describe_integrations
- [ ] describe_logging_status
- [ ] describe_node_configuration_options
- [ ] describe_orderable_cluster_options
Expand Down Expand Up @@ -6755,6 +6759,7 @@
- [ ] modify_custom_domain_association
- [ ] modify_endpoint_access
- [ ] modify_event_subscription
- [ ] modify_integration
- [ ] modify_redshift_idc_application
- [ ] modify_scheduled_action
- [X] modify_snapshot_copy_retention_period
Expand Down Expand Up @@ -8755,6 +8760,7 @@
- [ ] list_certificates
- [ ] list_connectors
- [ ] list_executions
- [ ] list_file_transfer_results
- [ ] list_host_keys
- [ ] list_profiles
- [ ] list_security_policies
Expand Down
1 change: 1 addition & 0 deletions docs/docs/services/quicksight.rst
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ quicksight
- [ ] start_asset_bundle_export_job
- [ ] start_asset_bundle_import_job
- [ ] start_dashboard_snapshot_job
- [ ] start_dashboard_snapshot_job_schedule
- [ ] tag_resource
- [ ] untag_resource
- [ ] update_account_customization
Expand Down
4 changes: 4 additions & 0 deletions docs/docs/services/redshift.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ redshift
- [ ] create_event_subscription
- [ ] create_hsm_client_certificate
- [ ] create_hsm_configuration
- [ ] create_integration
- [ ] create_redshift_idc_application
- [ ] create_scheduled_action
- [X] create_snapshot_copy_grant
Expand All @@ -54,6 +55,7 @@ redshift
- [ ] delete_event_subscription
- [ ] delete_hsm_client_certificate
- [ ] delete_hsm_configuration
- [ ] delete_integration
- [ ] delete_partner
- [ ] delete_redshift_idc_application
- [ ] delete_resource_policy
Expand Down Expand Up @@ -86,6 +88,7 @@ redshift
- [ ] describe_hsm_client_certificates
- [ ] describe_hsm_configurations
- [ ] describe_inbound_integrations
- [ ] describe_integrations
- [ ] describe_logging_status
- [ ] describe_node_configuration_options
- [ ] describe_orderable_cluster_options
Expand Down Expand Up @@ -127,6 +130,7 @@ redshift
- [ ] modify_custom_domain_association
- [ ] modify_endpoint_access
- [ ] modify_event_subscription
- [ ] modify_integration
- [ ] modify_redshift_idc_application
- [ ] modify_scheduled_action
- [X] modify_snapshot_copy_retention_period
Expand Down
1 change: 1 addition & 0 deletions docs/docs/services/transfer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ transfer
- [ ] list_certificates
- [ ] list_connectors
- [ ] list_executions
- [ ] list_file_transfer_results
- [ ] list_host_keys
- [ ] list_profiles
- [ ] list_security_policies
Expand Down
17 changes: 9 additions & 8 deletions moto/backend_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@
("apigateway", re.compile("https?://apigateway\\.(.+)\\.amazonaws.com")),
(
"apigatewaymanagementapi",
re.compile(
"https?://([^.]+\\.)*execute-api\\.[a-z]{2}-[-a-z]+-\\d+\\.amazonaws\\.com"
),
re.compile("https?://([^.]+\\.)*execute-api\\.[^.]+\\.amazonaws\\.com"),
),
("appconfig", re.compile("https?://appconfig\\.(.+)\\.amazonaws\\.com")),
(
Expand Down Expand Up @@ -121,10 +119,13 @@
("memorydb", re.compile("https?://memory-db\\.(.+)\\.amazonaws\\.com")),
(
"meteringmarketplace",
re.compile("https?://metering.marketplace.(.+).amazonaws.com"),
re.compile("https?://metering\\.marketplace\\.(.+)\\.amazonaws\\.com"),
),
(
"meteringmarketplace",
re.compile("https?://aws-marketplace\\.(.+)\\.amazonaws\\.com"),
),
("meteringmarketplace", re.compile("https?://aws-marketplace.(.+).amazonaws.com")),
("moto_api._internal", re.compile("https?://motoapi.amazonaws.com")),
("moto_api._internal", re.compile("https?://motoapi\\.amazonaws\\.com")),
("mq", re.compile("https?://mq\\.(.+)\\.amazonaws\\.com")),
("networkmanager", re.compile("https?://networkmanager\\.(.+)\\.amazonaws\\.com")),
("opensearchserverless", re.compile("https?://aoss\\.(.+)\\.amazonaws\\.com")),
Expand Down Expand Up @@ -171,7 +172,7 @@
("sagemaker", re.compile("https?://api\\.sagemaker\\.(.+)\\.amazonaws.com")),
(
"sagemakermetrics",
re.compile("https?://metrics.sagemaker\\.(.+)\\.amazonaws\\.com"),
re.compile("https?://metrics\\.sagemaker\\.(.+)\\.amazonaws\\.com"),
),
(
"sagemakerruntime",
Expand Down Expand Up @@ -202,7 +203,7 @@
("textract", re.compile("https?://textract\\.(.+)\\.amazonaws\\.com")),
(
"timestreamquery",
re.compile("https?://query.timestream\\.(.+)\\.amazonaws\\.com"),
re.compile("https?://query\\.timestream\\.(.+)\\.amazonaws\\.com"),
),
(
"timestreamwrite",
Expand Down
4 changes: 2 additions & 2 deletions moto/meteringmarketplace/urls.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from .responses import MarketplaceMeteringResponse

url_bases = [
"https?://metering.marketplace.(.+).amazonaws.com",
"https?://aws-marketplace.(.+).amazonaws.com",
r"https?://metering\.marketplace\.(.+)\.amazonaws\.com",
r"https?://aws-marketplace\.(.+)\.amazonaws\.com",
]

url_paths = {"{0}/$": MarketplaceMeteringResponse.dispatch}
2 changes: 1 addition & 1 deletion moto/moto_api/_internal/urls.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from .recorder.responses import RecorderResponse
from .responses import MotoAPIResponse

url_bases = ["https?://motoapi.amazonaws.com"]
url_bases = [r"https?://motoapi\.amazonaws\.com"]

response_instance = MotoAPIResponse()
recorder_response = RecorderResponse()
Expand Down
2 changes: 1 addition & 1 deletion moto/sagemakermetrics/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from .responses import SageMakerMetricsResponse

url_bases = [
r"https?://metrics.sagemaker\.(.+)\.amazonaws\.com",
r"https?://metrics\.sagemaker\.(.+)\.amazonaws\.com",
]

url_paths = {
Expand Down
2 changes: 1 addition & 1 deletion moto/sns/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ def get_post_data(

@lru_cache()
def private_key(self) -> rsa.RSAPrivateKey:
return rsa.generate_private_key(public_exponent=65537, key_size=2028)
return rsa.generate_private_key(public_exponent=65537, key_size=2048)

def _parse_message_structure(self, message: str, protocol: str) -> str:
try:
Expand Down
2 changes: 1 addition & 1 deletion moto/timestreamquery/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from moto.timestreamwrite.responses import TimestreamWriteResponse

url_bases = [
r"https?://query.timestream\.(.+)\.amazonaws\.com",
r"https?://query\.timestream\.(.+)\.amazonaws\.com",
]

url_paths = {
Expand Down
2 changes: 1 addition & 1 deletion tests/test_iam/test_iam_signing_certificates.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ def test_update_unknown_certificate(user_name=None):


def create_certificate():
key = rsa.generate_private_key(public_exponent=65537, key_size=2028)
key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
cert_subject = [NameAttribute(NameOID.COMMON_NAME, "iam.amazonaws.com")]
issuer = [
NameAttribute(NameOID.COUNTRY_NAME, "US"),
Expand Down
2 changes: 1 addition & 1 deletion tests/test_secretsmanager/test_secretsmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -1991,7 +1991,7 @@ def test_create_secret_with_tag_custom_id(set_custom_id):
secret_suffix = "randomSuffix"
secret_name = "secret-name"

client = boto3.client("secretsmanager")
client = boto3.client("secretsmanager", "us-east-1")

secret = client.create_secret(
Name=secret_name,
Expand Down
9 changes: 5 additions & 4 deletions tests/test_stepfunctions/parser/test_stepfunctions.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,9 @@ def test_version_is_only_available_when_published():
PolicyName="allowLambdaInvoke",
RoleName=role_name,
)
kms_key_id = boto3.client("kms", region_name="us-east-1").create_key()[
"KeyMetadata"
]["KeyId"]

kms = boto3.client("kms", region_name="us-east-1")
kms_key_id = kms.create_key()["KeyMetadata"]["KeyId"]
sleep(10 if allow_aws_request() else 0)

client = boto3.client("stepfunctions", region_name="us-east-1")
Expand All @@ -122,7 +122,7 @@ def test_version_is_only_available_when_published():
encryption_config = {
"kmsDataKeyReusePeriodSeconds": 60,
"kmsKeyId": kms_key_id,
"type": "CUSTOMER_MANAGED_CMK",
"type": "CUSTOMER_MANAGED_KMS_KEY",
}
response = client.create_state_machine(
name=name1,
Expand Down Expand Up @@ -165,3 +165,4 @@ def test_version_is_only_available_when_published():
client.delete_state_machine(stateMachineArn=arn2)
iam.delete_role_policy(RoleName=role_name, PolicyName="allowLambdaInvoke")
iam.delete_role(RoleName=role_name)
kms.schedule_key_deletion(KeyId=kms_key_id, PendingWindowInDays=7)