ECR Image Pull Through Cache Action
This is emitted when an ECR image pull through cache action occurs. See AWS documentation for more information on when this might be emitted.
Primary Model
- pydantic model botocraft.eventbridge.ecr.ECRPullThroughCacheActionEvent[source]
Bases:
EventBridgeEvent,ECRPullThroughCacheActionEventECR Pull Through Cache Action Event class.
This event is triggered when a pull through cache is synchronized with an upstream registry. It contains details about the synchronization status, repository details, and any failure information if the operation was unsuccessful.
Show JSON schema
{ "title": "ECRPullThroughCacheActionEvent", "description": "ECR Pull Through Cache Action Event class.\n\nThis event is triggered when a pull through cache is synchronized with an\nupstream registry. It contains details about the synchronization status,\nrepository details, and any failure information if the operation was\nunsuccessful.", "type": "object", "properties": { "detail": { "$ref": "#/$defs/ECRPullThroughCacheAction" }, "account": { "title": "Account", "type": "string" }, "detail-type": { "title": "Detail-Type", "type": "string" }, "id": { "title": "Id", "type": "string" }, "region": { "title": "Region", "type": "string" }, "resources": { "items": { "type": "string" }, "title": "Resources", "type": "array" }, "source": { "title": "Source", "type": "string" }, "time": { "format": "date-time", "title": "Time", "type": "string" }, "version": { "title": "Version", "type": "string" }, "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" } }, "$defs": { "ECRPullThroughCacheAction": { "description": "Represents details about an ECR pull-through cache action. Contains\ninformation about the pull-through cache operation, including status,\nrepository details, and any failure information if the operation was\nunsuccessful.", "properties": { "sync-status": { "title": "Sync-Status", "type": "string" }, "ecr-repository-prefix": { "title": "Ecr-Repository-Prefix", "type": "string" }, "repository-name": { "title": "Repository-Name", "type": "string" }, "upstream-registry-url": { "title": "Upstream-Registry-Url", "type": "string" }, "image-tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Image-Tag" }, "image-digest": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Image-Digest" }, "failure-code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Failure-Code" }, "failure-reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Failure-Reason" } }, "required": [ "sync-status", "ecr-repository-prefix", "repository-name", "upstream-registry-url" ], "title": "ECRPullThroughCacheAction", "type": "object" } }, "required": [ "detail", "account", "detail-type", "id", "region", "resources", "source", "time", "version" ] }
- Fields:
- field detail: ECRPullThroughCacheAction [Required]
The detailed information about the ECR pull-through cache action
- field detail_type: str [Required] (alias 'detail-type')
The human-readable type of the event (e.g., “ECR Pull Through Cache Action”)
- field resources: list[str] [Required]
The AWS resources involved in this event, typically the repository ARN
- field time: datetime [Required]
The timestamp when the event was generated, in UTC
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- model_copy(*, update: Mapping[str, Any] | None = None, deep: bool = False) Self
- !!! abstract “Usage Documentation”
[model_copy](../concepts/serialization.md#model_copy)
Returns a copy of the model.
- !!! note
The underlying instance’s [__dict__][object.__dict__] attribute is copied. This might have unexpected side effects if you store anything in it, on top of the model fields (e.g. the value of [cached properties][functools.cached_property]).
- Parameters:
update – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.
deep – Set to True to make a deep copy of the model.
- Returns:
New model instance.
- model_dump_json(*, indent: int | None = None, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, context: Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, warnings: bool | Literal['none', 'warn', 'error'] = True, fallback: Callable[[Any], Any] | None = None, serialize_as_any: bool = False) str
- !!! abstract “Usage Documentation”
[model_dump_json](../concepts/serialization.md#modelmodel_dump_json)
Generates a JSON representation of the model using Pydantic’s to_json method.
- Parameters:
indent – Indentation to use in the JSON output. If None is passed, the output will be compact.
include – Field(s) to include in the JSON output.
exclude – Field(s) to exclude from the JSON output.
context – Additional context to pass to the serializer.
by_alias – Whether to serialize using field aliases.
exclude_unset – Whether to exclude fields that have not been explicitly set.
exclude_defaults – Whether to exclude fields that are set to their default value.
exclude_none – Whether to exclude fields that have a value of None.
round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].
warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].
fallback – A function to call when an unknown value is encountered. If not provided, a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised.
serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.
- Returns:
A JSON string representation of the model.
- classmethod model_validate(obj: Any, *, strict: bool | None = None, from_attributes: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate a pydantic model instance.
- Parameters:
obj – The object to validate.
strict – Whether to enforce types strictly.
from_attributes – Whether to extract data from object attributes.
context – Additional context to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Raises:
ValidationError – If the object could not be validated.
- Returns:
The validated model instance.
- classmethod model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
- !!! abstract “Usage Documentation”
[JSON Parsing](../concepts/json.md#json-parsing)
Validate the given JSON data against the Pydantic model.
- Parameters:
json_data – The JSON data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- Raises:
ValidationError – If json_data is not a JSON string or the object could not be validated.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- classmethod parse_file(path: str | Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) Self
- classmethod parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) Self
- property repository: Repository | None
Return the ECR repository object named by the event.
Raw Event Models from AWS Schema
- pydantic model botocraft.eventbridge.raw.ecr.pull_through_cache_action.ECRPullThroughCacheAction[source]
Bases:
BaseModelRepresents details about an ECR pull-through cache action. Contains information about the pull-through cache operation, including status, repository details, and any failure information if the operation was unsuccessful.
Show JSON schema
{ "title": "ECRPullThroughCacheAction", "description": "Represents details about an ECR pull-through cache action. Contains\ninformation about the pull-through cache operation, including status,\nrepository details, and any failure information if the operation was\nunsuccessful.", "type": "object", "properties": { "sync-status": { "title": "Sync-Status", "type": "string" }, "ecr-repository-prefix": { "title": "Ecr-Repository-Prefix", "type": "string" }, "repository-name": { "title": "Repository-Name", "type": "string" }, "upstream-registry-url": { "title": "Upstream-Registry-Url", "type": "string" }, "image-tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Image-Tag" }, "image-digest": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Image-Digest" }, "failure-code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Failure-Code" }, "failure-reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Failure-Reason" } }, "required": [ "sync-status", "ecr-repository-prefix", "repository-name", "upstream-registry-url" ] }
- Fields:
- field ecr_repository_prefix: str [Required] (alias 'ecr-repository-prefix')
The ECR repository prefix used for the pull-through cache configuration
- field failure_code: str | None = None (alias 'failure-code')
A code indicating the reason for failure, if the operation failed
- field failure_reason: str | None = None (alias 'failure-reason')
A human-readable description of why the operation failed, if applicable
- field image_digest: str | None = None (alias 'image-digest')
The SHA256 digest of the image being pulled through the cache, if applicable
- field image_tag: str | None = None (alias 'image-tag')
The tag of the image being pulled through the cache, if applicable
- field repository_name: str [Required] (alias 'repository-name')
The name of the repository being cached
- pydantic model botocraft.eventbridge.raw.ecr.pull_through_cache_action.ECRPullThroughCacheActionEvent[source]
Bases:
BaseModelRepresents a complete ECR Pull Through Cache Action event from EventBridge. Contains metadata about the event and the actual pull-through cache action details.
Show JSON schema
{ "title": "ECRPullThroughCacheActionEvent", "description": "Represents a complete ECR Pull Through Cache Action event from EventBridge.\nContains metadata about the event and the actual pull-through cache action\ndetails.", "type": "object", "properties": { "detail": { "$ref": "#/$defs/ECRPullThroughCacheAction" }, "account": { "title": "Account", "type": "string" }, "detail-type": { "title": "Detail-Type", "type": "string" }, "id": { "title": "Id", "type": "string" }, "region": { "title": "Region", "type": "string" }, "resources": { "items": { "type": "string" }, "title": "Resources", "type": "array" }, "source": { "title": "Source", "type": "string" }, "time": { "format": "date-time", "title": "Time", "type": "string" }, "version": { "title": "Version", "type": "string" } }, "$defs": { "ECRPullThroughCacheAction": { "description": "Represents details about an ECR pull-through cache action. Contains\ninformation about the pull-through cache operation, including status,\nrepository details, and any failure information if the operation was\nunsuccessful.", "properties": { "sync-status": { "title": "Sync-Status", "type": "string" }, "ecr-repository-prefix": { "title": "Ecr-Repository-Prefix", "type": "string" }, "repository-name": { "title": "Repository-Name", "type": "string" }, "upstream-registry-url": { "title": "Upstream-Registry-Url", "type": "string" }, "image-tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Image-Tag" }, "image-digest": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Image-Digest" }, "failure-code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Failure-Code" }, "failure-reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Failure-Reason" } }, "required": [ "sync-status", "ecr-repository-prefix", "repository-name", "upstream-registry-url" ], "title": "ECRPullThroughCacheAction", "type": "object" } }, "required": [ "detail", "account", "detail-type", "id", "region", "resources", "source", "time", "version" ] }
- Fields:
- field detail: ECRPullThroughCacheAction [Required]
The detailed information about the ECR pull-through cache action
- field detail_type: str [Required] (alias 'detail-type')
The human-readable type of the event (e.g., “ECR Pull Through Cache Action”)
- field resources: list[str] [Required]
The AWS resources involved in this event, typically the repository ARN
- field time: datetime [Required]
The timestamp when the event was generated, in UTC