ECR: AWS API Call via CloudTrail

This represents an AWS API call to the ECR service via CloudTrail.

Primary Model

pydantic model botocraft.eventbridge.ecr.ECRAWSAPICallViaCloudTrailEvent[source]

Bases: EventBridgeEvent, ECRAWSAPICallViaCloudTrailEvent

ECR AWS API Call Via CloudTrail Event class.

This event is triggered when an AWS API call is made via CloudTrail. It contains details about the API call, including the event name, source IP, and user agent.

Show JSON schema
{
   "title": "ECRAWSAPICallViaCloudTrailEvent",
   "description": "ECR AWS API Call Via CloudTrail Event class.\n\nThis event is triggered when an AWS API call is made via CloudTrail. It\ncontains details about the API call, including the event name, source IP,\nand user agent.",
   "type": "object",
   "properties": {
      "detail": {
         "$ref": "#/$defs/AWSAPICallViaCloudTrail"
      },
      "detail-type": {
         "title": "Detail-Type",
         "type": "string"
      },
      "resources": {
         "items": {
            "type": "string"
         },
         "title": "Resources",
         "type": "array"
      },
      "id": {
         "title": "Id",
         "type": "string"
      },
      "source": {
         "title": "Source",
         "type": "string"
      },
      "time": {
         "format": "date-time",
         "title": "Time",
         "type": "string"
      },
      "region": {
         "title": "Region",
         "type": "string"
      },
      "version": {
         "title": "Version",
         "type": "string"
      },
      "account": {
         "title": "Account",
         "type": "string"
      },
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      }
   },
   "$defs": {
      "AWSAPICallViaCloudTrail": {
         "description": "Represents the details of an AWS API call as recorded by CloudTrail.\nContains comprehensive information about the API request, including who made\nit, what was requested, and the response.",
         "properties": {
            "requestParameters": {
               "$ref": "#/$defs/RequestParameters"
            },
            "userIdentity": {
               "$ref": "#/$defs/UserIdentity"
            },
            "eventID": {
               "title": "Eventid",
               "type": "string"
            },
            "awsRegion": {
               "title": "Awsregion",
               "type": "string"
            },
            "eventVersion": {
               "title": "Eventversion",
               "type": "string"
            },
            "responseElements": {
               "additionalProperties": true,
               "title": "Responseelements",
               "type": "object"
            },
            "sourceIPAddress": {
               "title": "Sourceipaddress",
               "type": "string"
            },
            "eventSource": {
               "title": "Eventsource",
               "type": "string"
            },
            "resources": {
               "items": {
                  "$ref": "#/$defs/AWSAPICallViaCloudTrailItem"
               },
               "title": "Resources",
               "type": "array"
            },
            "userAgent": {
               "title": "Useragent",
               "type": "string"
            },
            "eventType": {
               "title": "Eventtype",
               "type": "string"
            },
            "requestID": {
               "title": "Requestid",
               "type": "string"
            },
            "eventTime": {
               "format": "date-time",
               "title": "Eventtime",
               "type": "string"
            },
            "eventName": {
               "title": "Eventname",
               "type": "string"
            }
         },
         "required": [
            "requestParameters",
            "userIdentity",
            "eventID",
            "awsRegion",
            "eventVersion",
            "responseElements",
            "sourceIPAddress",
            "eventSource",
            "resources",
            "userAgent",
            "eventType",
            "requestID",
            "eventTime",
            "eventName"
         ],
         "title": "AWSAPICallViaCloudTrail",
         "type": "object"
      },
      "AWSAPICallViaCloudTrailItem": {
         "description": "Represents a resource involved in an AWS API call via CloudTrail.  Contains\nidentifiers for AWS resources that were accessed or modified during the API\ncall.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "ARN": {
               "title": "Arn",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "ARN"
         ],
         "title": "AWSAPICallViaCloudTrailItem",
         "type": "object"
      },
      "Attributes": {
         "description": "Represents attributes of the session used for the API call.  Includes\nsecurity-related information about the session.",
         "properties": {
            "mfaAuthenticated": {
               "title": "Mfaauthenticated",
               "type": "string"
            },
            "creationDate": {
               "format": "date-time",
               "title": "Creationdate",
               "type": "string"
            }
         },
         "required": [
            "mfaAuthenticated",
            "creationDate"
         ],
         "title": "Attributes",
         "type": "object"
      },
      "RequestParameters": {
         "description": "Represents the parameters of an ECR API request.\nContains the details of what was requested in the API call.",
         "properties": {
            "acceptedMediaTypes": {
               "items": {
                  "type": "string"
               },
               "title": "Acceptedmediatypes",
               "type": "array"
            },
            "registryId": {
               "title": "Registryid",
               "type": "string"
            },
            "repositoryName": {
               "title": "Repositoryname",
               "type": "string"
            },
            "imageIds": {
               "items": {
                  "$ref": "#/$defs/RequestParametersItem"
               },
               "title": "Imageids",
               "type": "array"
            }
         },
         "required": [
            "acceptedMediaTypes",
            "registryId",
            "repositoryName",
            "imageIds"
         ],
         "title": "RequestParameters",
         "type": "object"
      },
      "RequestParametersItem": {
         "description": "Represents an image identifier in an ECR API request.  Used to specify which\ncontainer image is being referenced in operations like BatchGetImage.",
         "properties": {
            "imageTag": {
               "title": "Imagetag",
               "type": "string"
            }
         },
         "required": [
            "imageTag"
         ],
         "title": "RequestParametersItem",
         "type": "object"
      },
      "SessionContext": {
         "description": "Represents the session context for a user identity.\nContains detailed information about the session used to make the API call.",
         "properties": {
            "webIdFederationData": {
               "additionalProperties": true,
               "title": "Webidfederationdata",
               "type": "object"
            },
            "sessionIssuer": {
               "$ref": "#/$defs/SessionIssuer"
            },
            "attributes": {
               "$ref": "#/$defs/Attributes"
            }
         },
         "required": [
            "webIdFederationData",
            "sessionIssuer",
            "attributes"
         ],
         "title": "SessionContext",
         "type": "object"
      },
      "SessionIssuer": {
         "description": "Represents the entity that issued the session in the user identity context.\nContains information about the IAM entity (user or role) that created the\nsession.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "userName": {
               "title": "Username",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "principalId",
            "type",
            "arn",
            "userName"
         ],
         "title": "SessionIssuer",
         "type": "object"
      },
      "UserIdentity": {
         "description": "Represents the identity of the user that performed the API call.  Contains\ninformation about the AWS principal (user, role, or service) that made the\nrequest.",
         "properties": {
            "sessionContext": {
               "$ref": "#/$defs/SessionContext"
            },
            "accessKeyId": {
               "title": "Accesskeyid",
               "type": "string"
            },
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "invokedBy": {
               "title": "Invokedby",
               "type": "string"
            }
         },
         "required": [
            "sessionContext",
            "accessKeyId",
            "accountId",
            "principalId",
            "type",
            "arn",
            "invokedBy"
         ],
         "title": "UserIdentity",
         "type": "object"
      }
   },
   "required": [
      "detail",
      "detail-type",
      "resources",
      "id",
      "source",
      "time",
      "region",
      "version",
      "account"
   ]
}

Fields:
field account: str [Required]

The AWS account ID where the event occurred

field detail: AWSAPICallViaCloudTrail [Required]

The detailed information about the API call

field detail_type: str [Required] (alias 'detail-type')

The human-readable type of the event (e.g., “AWS API Call via CloudTrail”)

field id: str [Required]

The unique identifier of the event

field region: str [Required]

The AWS region where the event occurred

field resources: list[str] [Required]

The AWS resources involved in the event

field source: str [Required]

The source of the event (e.g., “aws.ecr”)

field time: datetime [Required]

The timestamp when the event was generated

field version: str [Required]

The version of the event schema

classmethod construct(_fields_set: set[str] | None = None, **values: Any) Self
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_obj(obj: Any) 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 images: list['ECRImage']

Return the ECR image object named by the event.

session: Any | None = FieldInfo(annotation=Union[Any, NoneType], required=False, default=None, exclude=True)

Raw Event Models from AWS Schema

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.AWSAPICallViaCloudTrail[source]

Bases: BaseModel

Represents the details of an AWS API call as recorded by CloudTrail. Contains comprehensive information about the API request, including who made it, what was requested, and the response.

Show JSON schema
{
   "title": "AWSAPICallViaCloudTrail",
   "description": "Represents the details of an AWS API call as recorded by CloudTrail.\nContains comprehensive information about the API request, including who made\nit, what was requested, and the response.",
   "type": "object",
   "properties": {
      "requestParameters": {
         "$ref": "#/$defs/RequestParameters"
      },
      "userIdentity": {
         "$ref": "#/$defs/UserIdentity"
      },
      "eventID": {
         "title": "Eventid",
         "type": "string"
      },
      "awsRegion": {
         "title": "Awsregion",
         "type": "string"
      },
      "eventVersion": {
         "title": "Eventversion",
         "type": "string"
      },
      "responseElements": {
         "additionalProperties": true,
         "title": "Responseelements",
         "type": "object"
      },
      "sourceIPAddress": {
         "title": "Sourceipaddress",
         "type": "string"
      },
      "eventSource": {
         "title": "Eventsource",
         "type": "string"
      },
      "resources": {
         "items": {
            "$ref": "#/$defs/AWSAPICallViaCloudTrailItem"
         },
         "title": "Resources",
         "type": "array"
      },
      "userAgent": {
         "title": "Useragent",
         "type": "string"
      },
      "eventType": {
         "title": "Eventtype",
         "type": "string"
      },
      "requestID": {
         "title": "Requestid",
         "type": "string"
      },
      "eventTime": {
         "format": "date-time",
         "title": "Eventtime",
         "type": "string"
      },
      "eventName": {
         "title": "Eventname",
         "type": "string"
      }
   },
   "$defs": {
      "AWSAPICallViaCloudTrailItem": {
         "description": "Represents a resource involved in an AWS API call via CloudTrail.  Contains\nidentifiers for AWS resources that were accessed or modified during the API\ncall.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "ARN": {
               "title": "Arn",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "ARN"
         ],
         "title": "AWSAPICallViaCloudTrailItem",
         "type": "object"
      },
      "Attributes": {
         "description": "Represents attributes of the session used for the API call.  Includes\nsecurity-related information about the session.",
         "properties": {
            "mfaAuthenticated": {
               "title": "Mfaauthenticated",
               "type": "string"
            },
            "creationDate": {
               "format": "date-time",
               "title": "Creationdate",
               "type": "string"
            }
         },
         "required": [
            "mfaAuthenticated",
            "creationDate"
         ],
         "title": "Attributes",
         "type": "object"
      },
      "RequestParameters": {
         "description": "Represents the parameters of an ECR API request.\nContains the details of what was requested in the API call.",
         "properties": {
            "acceptedMediaTypes": {
               "items": {
                  "type": "string"
               },
               "title": "Acceptedmediatypes",
               "type": "array"
            },
            "registryId": {
               "title": "Registryid",
               "type": "string"
            },
            "repositoryName": {
               "title": "Repositoryname",
               "type": "string"
            },
            "imageIds": {
               "items": {
                  "$ref": "#/$defs/RequestParametersItem"
               },
               "title": "Imageids",
               "type": "array"
            }
         },
         "required": [
            "acceptedMediaTypes",
            "registryId",
            "repositoryName",
            "imageIds"
         ],
         "title": "RequestParameters",
         "type": "object"
      },
      "RequestParametersItem": {
         "description": "Represents an image identifier in an ECR API request.  Used to specify which\ncontainer image is being referenced in operations like BatchGetImage.",
         "properties": {
            "imageTag": {
               "title": "Imagetag",
               "type": "string"
            }
         },
         "required": [
            "imageTag"
         ],
         "title": "RequestParametersItem",
         "type": "object"
      },
      "SessionContext": {
         "description": "Represents the session context for a user identity.\nContains detailed information about the session used to make the API call.",
         "properties": {
            "webIdFederationData": {
               "additionalProperties": true,
               "title": "Webidfederationdata",
               "type": "object"
            },
            "sessionIssuer": {
               "$ref": "#/$defs/SessionIssuer"
            },
            "attributes": {
               "$ref": "#/$defs/Attributes"
            }
         },
         "required": [
            "webIdFederationData",
            "sessionIssuer",
            "attributes"
         ],
         "title": "SessionContext",
         "type": "object"
      },
      "SessionIssuer": {
         "description": "Represents the entity that issued the session in the user identity context.\nContains information about the IAM entity (user or role) that created the\nsession.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "userName": {
               "title": "Username",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "principalId",
            "type",
            "arn",
            "userName"
         ],
         "title": "SessionIssuer",
         "type": "object"
      },
      "UserIdentity": {
         "description": "Represents the identity of the user that performed the API call.  Contains\ninformation about the AWS principal (user, role, or service) that made the\nrequest.",
         "properties": {
            "sessionContext": {
               "$ref": "#/$defs/SessionContext"
            },
            "accessKeyId": {
               "title": "Accesskeyid",
               "type": "string"
            },
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "invokedBy": {
               "title": "Invokedby",
               "type": "string"
            }
         },
         "required": [
            "sessionContext",
            "accessKeyId",
            "accountId",
            "principalId",
            "type",
            "arn",
            "invokedBy"
         ],
         "title": "UserIdentity",
         "type": "object"
      }
   },
   "required": [
      "requestParameters",
      "userIdentity",
      "eventID",
      "awsRegion",
      "eventVersion",
      "responseElements",
      "sourceIPAddress",
      "eventSource",
      "resources",
      "userAgent",
      "eventType",
      "requestID",
      "eventTime",
      "eventName"
   ]
}

Fields:
field awsRegion: str [Required]

The AWS region where the request was made

field eventID: str [Required]

The unique identifier of the event

field eventName: str [Required]

The name of the API call (e.g., “BatchGetImage”)

field eventSource: str [Required]

The AWS service that the request was made to (e.g., “ecr.amazonaws.com”)

field eventTime: datetime [Required]

The timestamp when the API call was made

field eventType: str [Required]

The type of the event (e.g., “AwsApiCall”)

field eventVersion: str [Required]

The version of the CloudTrail event format

field requestID: str [Required]

The request ID of the API call

field requestParameters: RequestParameters [Required]

The parameters sent with the API request

field resources: list[AWSAPICallViaCloudTrailItem] [Required]

The resources involved in the API call

field responseElements: dict[str, Any] [Required]

The response elements returned by the API

field sourceIPAddress: str [Required]

The IP address where the request originated from

field userAgent: str [Required]

The user agent of the client that made the request

field userIdentity: UserIdentity [Required]

The identity of the user that made the API call

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.AWSAPICallViaCloudTrailItem[source]

Bases: BaseModel

Represents a resource involved in an AWS API call via CloudTrail. Contains identifiers for AWS resources that were accessed or modified during the API call.

Show JSON schema
{
   "title": "AWSAPICallViaCloudTrailItem",
   "description": "Represents a resource involved in an AWS API call via CloudTrail.  Contains\nidentifiers for AWS resources that were accessed or modified during the API\ncall.",
   "type": "object",
   "properties": {
      "accountId": {
         "title": "Accountid",
         "type": "string"
      },
      "ARN": {
         "title": "Arn",
         "type": "string"
      }
   },
   "required": [
      "accountId",
      "ARN"
   ]
}

Fields:
field ARN: str [Required]

The Amazon Resource Name (ARN) of the resource

field accountId: str [Required]

The AWS account ID that owns the resource

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.Attributes[source]

Bases: BaseModel

Represents attributes of the session used for the API call. Includes security-related information about the session.

Show JSON schema
{
   "title": "Attributes",
   "description": "Represents attributes of the session used for the API call.  Includes\nsecurity-related information about the session.",
   "type": "object",
   "properties": {
      "mfaAuthenticated": {
         "title": "Mfaauthenticated",
         "type": "string"
      },
      "creationDate": {
         "format": "date-time",
         "title": "Creationdate",
         "type": "string"
      }
   },
   "required": [
      "mfaAuthenticated",
      "creationDate"
   ]
}

Fields:
field creationDate: datetime [Required]

The timestamp when the session was created

field mfaAuthenticated: str [Required]

Indicates whether multi-factor authentication was used to create the session

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.ECRAWSAPICallViaCloudTrailEvent[source]

Bases: BaseModel

Represents a complete AWS CloudTrail event as delivered by EventBridge. Wraps the CloudTrail API call details with EventBridge metadata.

Show JSON schema
{
   "title": "ECRAWSAPICallViaCloudTrailEvent",
   "description": "Represents a complete AWS CloudTrail event as delivered by EventBridge.\nWraps the CloudTrail API call details with EventBridge metadata.",
   "type": "object",
   "properties": {
      "detail": {
         "$ref": "#/$defs/AWSAPICallViaCloudTrail"
      },
      "detail-type": {
         "title": "Detail-Type",
         "type": "string"
      },
      "resources": {
         "items": {
            "type": "string"
         },
         "title": "Resources",
         "type": "array"
      },
      "id": {
         "title": "Id",
         "type": "string"
      },
      "source": {
         "title": "Source",
         "type": "string"
      },
      "time": {
         "format": "date-time",
         "title": "Time",
         "type": "string"
      },
      "region": {
         "title": "Region",
         "type": "string"
      },
      "version": {
         "title": "Version",
         "type": "string"
      },
      "account": {
         "title": "Account",
         "type": "string"
      }
   },
   "$defs": {
      "AWSAPICallViaCloudTrail": {
         "description": "Represents the details of an AWS API call as recorded by CloudTrail.\nContains comprehensive information about the API request, including who made\nit, what was requested, and the response.",
         "properties": {
            "requestParameters": {
               "$ref": "#/$defs/RequestParameters"
            },
            "userIdentity": {
               "$ref": "#/$defs/UserIdentity"
            },
            "eventID": {
               "title": "Eventid",
               "type": "string"
            },
            "awsRegion": {
               "title": "Awsregion",
               "type": "string"
            },
            "eventVersion": {
               "title": "Eventversion",
               "type": "string"
            },
            "responseElements": {
               "additionalProperties": true,
               "title": "Responseelements",
               "type": "object"
            },
            "sourceIPAddress": {
               "title": "Sourceipaddress",
               "type": "string"
            },
            "eventSource": {
               "title": "Eventsource",
               "type": "string"
            },
            "resources": {
               "items": {
                  "$ref": "#/$defs/AWSAPICallViaCloudTrailItem"
               },
               "title": "Resources",
               "type": "array"
            },
            "userAgent": {
               "title": "Useragent",
               "type": "string"
            },
            "eventType": {
               "title": "Eventtype",
               "type": "string"
            },
            "requestID": {
               "title": "Requestid",
               "type": "string"
            },
            "eventTime": {
               "format": "date-time",
               "title": "Eventtime",
               "type": "string"
            },
            "eventName": {
               "title": "Eventname",
               "type": "string"
            }
         },
         "required": [
            "requestParameters",
            "userIdentity",
            "eventID",
            "awsRegion",
            "eventVersion",
            "responseElements",
            "sourceIPAddress",
            "eventSource",
            "resources",
            "userAgent",
            "eventType",
            "requestID",
            "eventTime",
            "eventName"
         ],
         "title": "AWSAPICallViaCloudTrail",
         "type": "object"
      },
      "AWSAPICallViaCloudTrailItem": {
         "description": "Represents a resource involved in an AWS API call via CloudTrail.  Contains\nidentifiers for AWS resources that were accessed or modified during the API\ncall.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "ARN": {
               "title": "Arn",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "ARN"
         ],
         "title": "AWSAPICallViaCloudTrailItem",
         "type": "object"
      },
      "Attributes": {
         "description": "Represents attributes of the session used for the API call.  Includes\nsecurity-related information about the session.",
         "properties": {
            "mfaAuthenticated": {
               "title": "Mfaauthenticated",
               "type": "string"
            },
            "creationDate": {
               "format": "date-time",
               "title": "Creationdate",
               "type": "string"
            }
         },
         "required": [
            "mfaAuthenticated",
            "creationDate"
         ],
         "title": "Attributes",
         "type": "object"
      },
      "RequestParameters": {
         "description": "Represents the parameters of an ECR API request.\nContains the details of what was requested in the API call.",
         "properties": {
            "acceptedMediaTypes": {
               "items": {
                  "type": "string"
               },
               "title": "Acceptedmediatypes",
               "type": "array"
            },
            "registryId": {
               "title": "Registryid",
               "type": "string"
            },
            "repositoryName": {
               "title": "Repositoryname",
               "type": "string"
            },
            "imageIds": {
               "items": {
                  "$ref": "#/$defs/RequestParametersItem"
               },
               "title": "Imageids",
               "type": "array"
            }
         },
         "required": [
            "acceptedMediaTypes",
            "registryId",
            "repositoryName",
            "imageIds"
         ],
         "title": "RequestParameters",
         "type": "object"
      },
      "RequestParametersItem": {
         "description": "Represents an image identifier in an ECR API request.  Used to specify which\ncontainer image is being referenced in operations like BatchGetImage.",
         "properties": {
            "imageTag": {
               "title": "Imagetag",
               "type": "string"
            }
         },
         "required": [
            "imageTag"
         ],
         "title": "RequestParametersItem",
         "type": "object"
      },
      "SessionContext": {
         "description": "Represents the session context for a user identity.\nContains detailed information about the session used to make the API call.",
         "properties": {
            "webIdFederationData": {
               "additionalProperties": true,
               "title": "Webidfederationdata",
               "type": "object"
            },
            "sessionIssuer": {
               "$ref": "#/$defs/SessionIssuer"
            },
            "attributes": {
               "$ref": "#/$defs/Attributes"
            }
         },
         "required": [
            "webIdFederationData",
            "sessionIssuer",
            "attributes"
         ],
         "title": "SessionContext",
         "type": "object"
      },
      "SessionIssuer": {
         "description": "Represents the entity that issued the session in the user identity context.\nContains information about the IAM entity (user or role) that created the\nsession.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "userName": {
               "title": "Username",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "principalId",
            "type",
            "arn",
            "userName"
         ],
         "title": "SessionIssuer",
         "type": "object"
      },
      "UserIdentity": {
         "description": "Represents the identity of the user that performed the API call.  Contains\ninformation about the AWS principal (user, role, or service) that made the\nrequest.",
         "properties": {
            "sessionContext": {
               "$ref": "#/$defs/SessionContext"
            },
            "accessKeyId": {
               "title": "Accesskeyid",
               "type": "string"
            },
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "invokedBy": {
               "title": "Invokedby",
               "type": "string"
            }
         },
         "required": [
            "sessionContext",
            "accessKeyId",
            "accountId",
            "principalId",
            "type",
            "arn",
            "invokedBy"
         ],
         "title": "UserIdentity",
         "type": "object"
      }
   },
   "required": [
      "detail",
      "detail-type",
      "resources",
      "id",
      "source",
      "time",
      "region",
      "version",
      "account"
   ]
}

Fields:
field account: str [Required]

The AWS account ID where the event occurred

field detail: AWSAPICallViaCloudTrail [Required]

The detailed information about the API call

field detail_type: str [Required] (alias 'detail-type')

The human-readable type of the event (e.g., “AWS API Call via CloudTrail”)

field id: str [Required]

The unique identifier of the event

field region: str [Required]

The AWS region where the event occurred

field resources: list[str] [Required]

The AWS resources involved in the event

field source: str [Required]

The source of the event (e.g., “aws.ecr”)

field time: datetime [Required]

The timestamp when the event was generated

field version: str [Required]

The version of the event schema

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.RequestParameters[source]

Bases: BaseModel

Represents the parameters of an ECR API request. Contains the details of what was requested in the API call.

Show JSON schema
{
   "title": "RequestParameters",
   "description": "Represents the parameters of an ECR API request.\nContains the details of what was requested in the API call.",
   "type": "object",
   "properties": {
      "acceptedMediaTypes": {
         "items": {
            "type": "string"
         },
         "title": "Acceptedmediatypes",
         "type": "array"
      },
      "registryId": {
         "title": "Registryid",
         "type": "string"
      },
      "repositoryName": {
         "title": "Repositoryname",
         "type": "string"
      },
      "imageIds": {
         "items": {
            "$ref": "#/$defs/RequestParametersItem"
         },
         "title": "Imageids",
         "type": "array"
      }
   },
   "$defs": {
      "RequestParametersItem": {
         "description": "Represents an image identifier in an ECR API request.  Used to specify which\ncontainer image is being referenced in operations like BatchGetImage.",
         "properties": {
            "imageTag": {
               "title": "Imagetag",
               "type": "string"
            }
         },
         "required": [
            "imageTag"
         ],
         "title": "RequestParametersItem",
         "type": "object"
      }
   },
   "required": [
      "acceptedMediaTypes",
      "registryId",
      "repositoryName",
      "imageIds"
   ]
}

Fields:
field acceptedMediaTypes: list[str] [Required]

The media types that the API client accepts

field imageIds: list[RequestParametersItem] [Required]

The list of image identifiers being requested

field registryId: str [Required]

The AWS account ID that owns the ECR registry

field repositoryName: str [Required]

The name of the ECR repository being accessed

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.RequestParametersItem[source]

Bases: BaseModel

Represents an image identifier in an ECR API request. Used to specify which container image is being referenced in operations like BatchGetImage.

Show JSON schema
{
   "title": "RequestParametersItem",
   "description": "Represents an image identifier in an ECR API request.  Used to specify which\ncontainer image is being referenced in operations like BatchGetImage.",
   "type": "object",
   "properties": {
      "imageTag": {
         "title": "Imagetag",
         "type": "string"
      }
   },
   "required": [
      "imageTag"
   ]
}

Fields:
field imageTag: str [Required]

The tag of the container image

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.SessionContext[source]

Bases: BaseModel

Represents the session context for a user identity. Contains detailed information about the session used to make the API call.

Show JSON schema
{
   "title": "SessionContext",
   "description": "Represents the session context for a user identity.\nContains detailed information about the session used to make the API call.",
   "type": "object",
   "properties": {
      "webIdFederationData": {
         "additionalProperties": true,
         "title": "Webidfederationdata",
         "type": "object"
      },
      "sessionIssuer": {
         "$ref": "#/$defs/SessionIssuer"
      },
      "attributes": {
         "$ref": "#/$defs/Attributes"
      }
   },
   "$defs": {
      "Attributes": {
         "description": "Represents attributes of the session used for the API call.  Includes\nsecurity-related information about the session.",
         "properties": {
            "mfaAuthenticated": {
               "title": "Mfaauthenticated",
               "type": "string"
            },
            "creationDate": {
               "format": "date-time",
               "title": "Creationdate",
               "type": "string"
            }
         },
         "required": [
            "mfaAuthenticated",
            "creationDate"
         ],
         "title": "Attributes",
         "type": "object"
      },
      "SessionIssuer": {
         "description": "Represents the entity that issued the session in the user identity context.\nContains information about the IAM entity (user or role) that created the\nsession.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "userName": {
               "title": "Username",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "principalId",
            "type",
            "arn",
            "userName"
         ],
         "title": "SessionIssuer",
         "type": "object"
      }
   },
   "required": [
      "webIdFederationData",
      "sessionIssuer",
      "attributes"
   ]
}

Fields:
field attributes: Attributes [Required]

Session attributes like MFA status and creation time

field sessionIssuer: SessionIssuer [Required]

Information about the entity that issued the session

field webIdFederationData: dict[str, Any] [Required]

Federation data if the session was created through web identity federation

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.SessionIssuer[source]

Bases: BaseModel

Represents the entity that issued the session in the user identity context. Contains information about the IAM entity (user or role) that created the session.

Show JSON schema
{
   "title": "SessionIssuer",
   "description": "Represents the entity that issued the session in the user identity context.\nContains information about the IAM entity (user or role) that created the\nsession.",
   "type": "object",
   "properties": {
      "accountId": {
         "title": "Accountid",
         "type": "string"
      },
      "principalId": {
         "title": "Principalid",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "arn": {
         "title": "Arn",
         "type": "string"
      },
      "userName": {
         "title": "Username",
         "type": "string"
      }
   },
   "required": [
      "accountId",
      "principalId",
      "type",
      "arn",
      "userName"
   ]
}

Fields:
field accountId: str [Required]

The AWS account ID that owns the entity

field arn: str [Required]

The ARN of the entity

field principalId: str [Required]

The unique identifier of the entity

field type: str [Required]

The type of the entity (e.g., “Role”, “User”)

field userName: str [Required]

The name of the entity

pydantic model botocraft.eventbridge.raw.ecr.aws_api_call_via_cloudtrail.UserIdentity[source]

Bases: BaseModel

Represents the identity of the user that performed the API call. Contains information about the AWS principal (user, role, or service) that made the request.

Show JSON schema
{
   "title": "UserIdentity",
   "description": "Represents the identity of the user that performed the API call.  Contains\ninformation about the AWS principal (user, role, or service) that made the\nrequest.",
   "type": "object",
   "properties": {
      "sessionContext": {
         "$ref": "#/$defs/SessionContext"
      },
      "accessKeyId": {
         "title": "Accesskeyid",
         "type": "string"
      },
      "accountId": {
         "title": "Accountid",
         "type": "string"
      },
      "principalId": {
         "title": "Principalid",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "arn": {
         "title": "Arn",
         "type": "string"
      },
      "invokedBy": {
         "title": "Invokedby",
         "type": "string"
      }
   },
   "$defs": {
      "Attributes": {
         "description": "Represents attributes of the session used for the API call.  Includes\nsecurity-related information about the session.",
         "properties": {
            "mfaAuthenticated": {
               "title": "Mfaauthenticated",
               "type": "string"
            },
            "creationDate": {
               "format": "date-time",
               "title": "Creationdate",
               "type": "string"
            }
         },
         "required": [
            "mfaAuthenticated",
            "creationDate"
         ],
         "title": "Attributes",
         "type": "object"
      },
      "SessionContext": {
         "description": "Represents the session context for a user identity.\nContains detailed information about the session used to make the API call.",
         "properties": {
            "webIdFederationData": {
               "additionalProperties": true,
               "title": "Webidfederationdata",
               "type": "object"
            },
            "sessionIssuer": {
               "$ref": "#/$defs/SessionIssuer"
            },
            "attributes": {
               "$ref": "#/$defs/Attributes"
            }
         },
         "required": [
            "webIdFederationData",
            "sessionIssuer",
            "attributes"
         ],
         "title": "SessionContext",
         "type": "object"
      },
      "SessionIssuer": {
         "description": "Represents the entity that issued the session in the user identity context.\nContains information about the IAM entity (user or role) that created the\nsession.",
         "properties": {
            "accountId": {
               "title": "Accountid",
               "type": "string"
            },
            "principalId": {
               "title": "Principalid",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "userName": {
               "title": "Username",
               "type": "string"
            }
         },
         "required": [
            "accountId",
            "principalId",
            "type",
            "arn",
            "userName"
         ],
         "title": "SessionIssuer",
         "type": "object"
      }
   },
   "required": [
      "sessionContext",
      "accessKeyId",
      "accountId",
      "principalId",
      "type",
      "arn",
      "invokedBy"
   ]
}

Fields:
field accessKeyId: str [Required]

The access key ID used to sign the request

field accountId: str [Required]

The AWS account ID that the user belongs to

field arn: str [Required]

The ARN of the principal

field invokedBy: str [Required]

The AWS service that made the request, if applicable

field principalId: str [Required]

The unique identifier of the principal

field sessionContext: SessionContext [Required]

The context of the session used for the API call

field type: str [Required]

The type of the identity (e.g., “AssumedRole”, “IAMUser”)