Skip to content

[pull] master from spulec:master - #481

Open
pull[bot] wants to merge 4480 commits into
levinine:masterfrom
getmoto:master
Open

[pull] master from spulec:master#481
pull[bot] wants to merge 4480 commits into
levinine:masterfrom
getmoto:master

Conversation

@pull

@pull pull Bot commented Nov 22, 2021

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

bpandola and others added 28 commits April 9, 2026 14:16
Botocore's data directory allows hyphens, but Moto's core directory consists
of Python modules (which cannot contain hyphens) alongside data files.

Here we wrap the Botocore method for finding extras and inject the Moto
directory name before calling the super class.  This allows for loading
the main service specification from Botocore and the extras from Moto
when the directory names differ (e.g. `emr-containers` -> `emrcontainers`).
dependabot Bot and others added 30 commits September 2, 2026 06:02
The guard for real AWS requests also applies to Moto because
the ec2 tests run in parallel.
EC2 tests are run in parallel with MOTO_EC2_LOAD_DEFAULT_AMIS set to False,
which was causing some of these tests to become flaky in CI runs when the
environment variable was set to False on another thread after the patch.
For testing, provides a 90-second validation window to help fix
some flaky tests that were failing due to server-client clock drift
or strict (30 second) time-window enforcement.

Note: behavior is unchanged for regular Moto usage, though we may
want to enable the windowed check via a setting if the need arises.
Implements the ECR image-layer push flow that previously raised
NotImplementedError:

- initiate_layer_upload
- upload_layer_part
- complete_layer_upload
- batch_check_layer_availability

InitiateLayerUpload returns an uploadId and part size; parts are accumulated
per upload and CompleteLayerUpload derives the layer digest from the uploaded
bytes (sha256) and stores the layer on the repository. BatchCheckLayerAvailability
reports AVAILABLE layers and returns MissingLayerDigest/InvalidLayerDigest
failures otherwise. Adds an UploadNotFoundException for unknown upload ids and
acceptance tests covering the full flow and error cases.
Cloud Map lets you attach custom key/value attributes to a service via
get/update/delete_service_attributes, but those three weren't mocked yet.

The attributes now live on the Service, updates merge into whatever is
already there, and going past the 30-attribute limit raises
ServiceAttributesLimitExceededException like the real API does.
Co-authored-by: Brian Pandola <bpandola@gmail.com>
Co-authored-by: Brian Pandola <bpandola@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.