ECS Container Instance Change
This is emitted when an ECS container instance changes state. See AWS documentation for more information on when this might be emitted.
Primary Model
- pydantic model botocraft.eventbridge.ecs.ECSContainerInstanceStateChangeEvent[source]
Bases:
EventBridgeEvent,ECSContainerInstanceStateChangeEventEventBridge event for ECS container instance state change.
Show JSON schema
{ "title": "ECSContainerInstanceStateChangeEvent", "description": "EventBridge event for ECS container instance state change.", "type": "object", "properties": { "detail": { "$ref": "#/$defs/ECSContainerInstanceStateChange" }, "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": { "AttachmentDetails": { "description": "Details of an attachment, used to represent the details of an attachment in\nthe context of an ECS container instance state change event.", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Id" }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "details": { "anyOf": [ { "items": { "$ref": "#/$defs/Detail" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Details" } }, "title": "AttachmentDetails", "type": "object" }, "AttributesDetails": { "description": "Details of an attribute.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "AttributesDetails", "type": "object" }, "Detail": { "description": "A detail of an :py:class:`AttachmentDetails` object.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Detail", "type": "object" }, "ECSContainerInstanceStateChange": { "description": "That main body of the ECS Container Instance State Change event.", "properties": { "versionInfo": { "$ref": "#/$defs/VersionInfo" }, "ec2InstanceId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Instanceid" }, "attachments": { "anyOf": [ { "items": { "$ref": "#/$defs/AttachmentDetails" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Attachments" }, "registeredResources": { "items": { "$ref": "#/$defs/ResourceDetails" }, "title": "Registeredresources", "type": "array" }, "remainingResources": { "items": { "$ref": "#/$defs/ResourceDetails" }, "title": "Remainingresources", "type": "array" }, "runningTasksCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Runningtaskscount" }, "registeredAt": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Registeredat" }, "agentConnected": { "title": "Agentconnected", "type": "boolean" }, "agentUpdateStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agentupdatestatus" }, "version": { "title": "Version", "type": "number" }, "pendingTasksCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Pendingtaskscount" }, "clusterArn": { "title": "Clusterarn", "type": "string" }, "attributes": { "anyOf": [ { "items": { "$ref": "#/$defs/AttributesDetails" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Attributes" }, "containerInstanceArn": { "title": "Containerinstancearn", "type": "string" }, "status": { "title": "Status", "type": "string" }, "statusReason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Statusreason" }, "updatedAt": { "format": "date-time", "title": "Updatedat", "type": "string" }, "accountType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Accounttype" } }, "required": [ "versionInfo", "registeredResources", "remainingResources", "agentConnected", "version", "clusterArn", "containerInstanceArn", "status", "updatedAt" ], "title": "ECSContainerInstanceStateChange", "type": "object" }, "ResourceDetails": { "description": "Details of a resource (CPU, Memory, etc).\n\n.. note::\n\n Only one of the following values will be set, depending on the type of\n resource. The type of resource is specified in the `type` field.\n The type of resource is one of the following:\n - `INTEGER`: :py:attr:`integerValue`\n - `LONG`: :py:attr:`longValue`\n - `DOUBLE`: :py:attr:`doubleValue`\n - `STRING`: :py:attr:`stringSetValue`", "properties": { "integerValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Integervalue" }, "longValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Longvalue" }, "doubleValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Doublevalue" }, "name": { "title": "Name", "type": "string" }, "stringSetValue": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Stringsetvalue" }, "type": { "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "ResourceDetails", "type": "object" }, "VersionInfo": { "description": "Version information about the ECS agent and docker.", "properties": { "dockerVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Dockerversion" }, "agentHash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agenthash" }, "agentVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agentversion" } }, "title": "VersionInfo", "type": "object" } }, "required": [ "detail", "detail-type", "resources", "id", "source", "time", "region", "version", "account" ] }
- Fields:
- field detail: ECSContainerInstanceStateChange [Required]
Where the meat of the event is
- field resources: list[str] [Required]
The resources the event applies to. This will be a list of ARNs
- field time: datetime [Required]
The time 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 container_instance: ContainerInstance
Get the container instance ARN from the event.
- property registeredResources: SystemResources
Return the full system resources (CPU and memory) of the container instance.
- property remainingResources: SystemResources
Return the remaining resources (CPU and memory) on the container instance.
Raw Event Models from AWS Schema
- pydantic model botocraft.eventbridge.raw.ecs.container_instance_change.AttachmentDetails[source]
Bases:
BaseModelDetails of an attachment, used to represent the details of an attachment in the context of an ECS container instance state change event.
Show JSON schema
{ "title": "AttachmentDetails", "description": "Details of an attachment, used to represent the details of an attachment in\nthe context of an ECS container instance state change event.", "type": "object", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Id" }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "details": { "anyOf": [ { "items": { "$ref": "#/$defs/Detail" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Details" } }, "$defs": { "Detail": { "description": "A detail of an :py:class:`AttachmentDetails` object.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Detail", "type": "object" } } }
- Fields:
- pydantic model botocraft.eventbridge.raw.ecs.container_instance_change.AttributesDetails[source]
Bases:
BaseModelDetails of an attribute.
Show JSON schema
{ "title": "AttributesDetails", "description": "Details of an attribute.", "type": "object", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } } }
- Fields:
- pydantic model botocraft.eventbridge.raw.ecs.container_instance_change.Detail[source]
Bases:
BaseModelA detail of an
AttachmentDetailsobject.Show JSON schema
{ "title": "Detail", "description": "A detail of an :py:class:`AttachmentDetails` object.", "type": "object", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } } }
- Fields:
- pydantic model botocraft.eventbridge.raw.ecs.container_instance_change.ECSContainerInstanceStateChange[source]
Bases:
BaseModelThat main body of the ECS Container Instance State Change event.
Show JSON schema
{ "title": "ECSContainerInstanceStateChange", "description": "That main body of the ECS Container Instance State Change event.", "type": "object", "properties": { "versionInfo": { "$ref": "#/$defs/VersionInfo" }, "ec2InstanceId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Instanceid" }, "attachments": { "anyOf": [ { "items": { "$ref": "#/$defs/AttachmentDetails" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Attachments" }, "registeredResources": { "items": { "$ref": "#/$defs/ResourceDetails" }, "title": "Registeredresources", "type": "array" }, "remainingResources": { "items": { "$ref": "#/$defs/ResourceDetails" }, "title": "Remainingresources", "type": "array" }, "runningTasksCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Runningtaskscount" }, "registeredAt": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Registeredat" }, "agentConnected": { "title": "Agentconnected", "type": "boolean" }, "agentUpdateStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agentupdatestatus" }, "version": { "title": "Version", "type": "number" }, "pendingTasksCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Pendingtaskscount" }, "clusterArn": { "title": "Clusterarn", "type": "string" }, "attributes": { "anyOf": [ { "items": { "$ref": "#/$defs/AttributesDetails" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Attributes" }, "containerInstanceArn": { "title": "Containerinstancearn", "type": "string" }, "status": { "title": "Status", "type": "string" }, "statusReason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Statusreason" }, "updatedAt": { "format": "date-time", "title": "Updatedat", "type": "string" }, "accountType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Accounttype" } }, "$defs": { "AttachmentDetails": { "description": "Details of an attachment, used to represent the details of an attachment in\nthe context of an ECS container instance state change event.", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Id" }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "details": { "anyOf": [ { "items": { "$ref": "#/$defs/Detail" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Details" } }, "title": "AttachmentDetails", "type": "object" }, "AttributesDetails": { "description": "Details of an attribute.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "AttributesDetails", "type": "object" }, "Detail": { "description": "A detail of an :py:class:`AttachmentDetails` object.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Detail", "type": "object" }, "ResourceDetails": { "description": "Details of a resource (CPU, Memory, etc).\n\n.. note::\n\n Only one of the following values will be set, depending on the type of\n resource. The type of resource is specified in the `type` field.\n The type of resource is one of the following:\n - `INTEGER`: :py:attr:`integerValue`\n - `LONG`: :py:attr:`longValue`\n - `DOUBLE`: :py:attr:`doubleValue`\n - `STRING`: :py:attr:`stringSetValue`", "properties": { "integerValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Integervalue" }, "longValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Longvalue" }, "doubleValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Doublevalue" }, "name": { "title": "Name", "type": "string" }, "stringSetValue": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Stringsetvalue" }, "type": { "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "ResourceDetails", "type": "object" }, "VersionInfo": { "description": "Version information about the ECS agent and docker.", "properties": { "dockerVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Dockerversion" }, "agentHash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agenthash" }, "agentVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agentversion" } }, "title": "VersionInfo", "type": "object" } }, "required": [ "versionInfo", "registeredResources", "remainingResources", "agentConnected", "version", "clusterArn", "containerInstanceArn", "status", "updatedAt" ] }
- Fields:
attachments (list[botocraft.eventbridge.raw.ecs.container_instance_change.AttachmentDetails] | None)attributes (list[botocraft.eventbridge.raw.ecs.container_instance_change.AttributesDetails] | None)registeredResources (list[botocraft.eventbridge.raw.ecs.container_instance_change.ResourceDetails])remainingResources (list[botocraft.eventbridge.raw.ecs.container_instance_change.ResourceDetails])versionInfo (botocraft.eventbridge.raw.ecs.container_instance_change.VersionInfo)
- field attachments: list[AttachmentDetails] | None = None
Any attachments associated with the container instance
- field attributes: list[AttributesDetails] | None = None
The attributes associated with the container instance
- field clusterArn: str [Required]
The ARN of the ECS cluster the container instance is registered to
- field pendingTasksCount: float | None = None
The number of tasks that are pending on the container instance
- field registeredResources: list[ResourceDetails] [Required]
The list of registered resources associated with the container instance e.g. CPU, memory, etc.
- field remainingResources: list[ResourceDetails] [Required]
The list of remaining resources associated with the container instance e.g. CPU, memory, etc.
- field updatedAt: datetime [Required]
The time the container instance was updated
- field versionInfo: VersionInfo [Required]
Info about docker and the ECS agent
- pydantic model botocraft.eventbridge.raw.ecs.container_instance_change.ECSContainerInstanceStateChangeEvent[source]
Bases:
BaseModelShow JSON schema
{ "title": "ECSContainerInstanceStateChangeEvent", "type": "object", "properties": { "detail": { "$ref": "#/$defs/ECSContainerInstanceStateChange" }, "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": { "AttachmentDetails": { "description": "Details of an attachment, used to represent the details of an attachment in\nthe context of an ECS container instance state change event.", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Id" }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "details": { "anyOf": [ { "items": { "$ref": "#/$defs/Detail" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Details" } }, "title": "AttachmentDetails", "type": "object" }, "AttributesDetails": { "description": "Details of an attribute.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "AttributesDetails", "type": "object" }, "Detail": { "description": "A detail of an :py:class:`AttachmentDetails` object.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Detail", "type": "object" }, "ECSContainerInstanceStateChange": { "description": "That main body of the ECS Container Instance State Change event.", "properties": { "versionInfo": { "$ref": "#/$defs/VersionInfo" }, "ec2InstanceId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Instanceid" }, "attachments": { "anyOf": [ { "items": { "$ref": "#/$defs/AttachmentDetails" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Attachments" }, "registeredResources": { "items": { "$ref": "#/$defs/ResourceDetails" }, "title": "Registeredresources", "type": "array" }, "remainingResources": { "items": { "$ref": "#/$defs/ResourceDetails" }, "title": "Remainingresources", "type": "array" }, "runningTasksCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Runningtaskscount" }, "registeredAt": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Registeredat" }, "agentConnected": { "title": "Agentconnected", "type": "boolean" }, "agentUpdateStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agentupdatestatus" }, "version": { "title": "Version", "type": "number" }, "pendingTasksCount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Pendingtaskscount" }, "clusterArn": { "title": "Clusterarn", "type": "string" }, "attributes": { "anyOf": [ { "items": { "$ref": "#/$defs/AttributesDetails" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Attributes" }, "containerInstanceArn": { "title": "Containerinstancearn", "type": "string" }, "status": { "title": "Status", "type": "string" }, "statusReason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Statusreason" }, "updatedAt": { "format": "date-time", "title": "Updatedat", "type": "string" }, "accountType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Accounttype" } }, "required": [ "versionInfo", "registeredResources", "remainingResources", "agentConnected", "version", "clusterArn", "containerInstanceArn", "status", "updatedAt" ], "title": "ECSContainerInstanceStateChange", "type": "object" }, "ResourceDetails": { "description": "Details of a resource (CPU, Memory, etc).\n\n.. note::\n\n Only one of the following values will be set, depending on the type of\n resource. The type of resource is specified in the `type` field.\n The type of resource is one of the following:\n - `INTEGER`: :py:attr:`integerValue`\n - `LONG`: :py:attr:`longValue`\n - `DOUBLE`: :py:attr:`doubleValue`\n - `STRING`: :py:attr:`stringSetValue`", "properties": { "integerValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Integervalue" }, "longValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Longvalue" }, "doubleValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Doublevalue" }, "name": { "title": "Name", "type": "string" }, "stringSetValue": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Stringsetvalue" }, "type": { "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "ResourceDetails", "type": "object" }, "VersionInfo": { "description": "Version information about the ECS agent and docker.", "properties": { "dockerVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Dockerversion" }, "agentHash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agenthash" }, "agentVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agentversion" } }, "title": "VersionInfo", "type": "object" } }, "required": [ "detail", "detail-type", "resources", "id", "source", "time", "region", "version", "account" ] }
- Fields:
- field detail: ECSContainerInstanceStateChange [Required]
Where the meat of the event is
- field resources: list[str] [Required]
The resources the event applies to. This will be a list of ARNs
- field time: datetime [Required]
The time the event was generated, in UTC
- pydantic model botocraft.eventbridge.raw.ecs.container_instance_change.ResourceDetails[source]
Bases:
BaseModelDetails of a resource (CPU, Memory, etc).
Note
Only one of the following values will be set, depending on the type of resource. The type of resource is specified in the type field. The type of resource is one of the following: - INTEGER:
integerValue- LONG:longValue- DOUBLE:doubleValue- STRING:stringSetValueShow JSON schema
{ "title": "ResourceDetails", "description": "Details of a resource (CPU, Memory, etc).\n\n.. note::\n\n Only one of the following values will be set, depending on the type of\n resource. The type of resource is specified in the `type` field.\n The type of resource is one of the following:\n - `INTEGER`: :py:attr:`integerValue`\n - `LONG`: :py:attr:`longValue`\n - `DOUBLE`: :py:attr:`doubleValue`\n - `STRING`: :py:attr:`stringSetValue`", "type": "object", "properties": { "integerValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Integervalue" }, "longValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Longvalue" }, "doubleValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Doublevalue" }, "name": { "title": "Name", "type": "string" }, "stringSetValue": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Stringsetvalue" }, "type": { "title": "Type", "type": "string" } }, "required": [ "name", "type" ] }
- Fields:
- pydantic model botocraft.eventbridge.raw.ecs.container_instance_change.VersionInfo[source]
Bases:
BaseModelVersion information about the ECS agent and docker.
Show JSON schema
{ "title": "VersionInfo", "description": "Version information about the ECS agent and docker.", "type": "object", "properties": { "dockerVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Dockerversion" }, "agentHash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agenthash" }, "agentVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agentversion" } } }