nv_ingest_api.internal.schemas.message_brokers package#

Submodules#

nv_ingest_api.internal.schemas.message_brokers.message_broker_client_schema module#

pydantic model nv_ingest_api.internal.schemas.message_brokers.message_broker_client_schema.MessageBrokerClientSchema[source]#

Bases: BaseModel

Configuration schema for message broker client connections. Supports Redis or simple in-memory clients.

Show JSON schema
{
   "title": "MessageBrokerClientSchema",
   "description": "Configuration schema for message broker client connections.\nSupports Redis or simple in-memory clients.",
   "type": "object",
   "properties": {
      "host": {
         "default": "redis",
         "description": "Hostname of the broker service.",
         "title": "Host",
         "type": "string"
      },
      "port": {
         "default": 6379,
         "description": "Port to connect to. Must be between 1 and 65535.",
         "exclusiveMaximum": 65536,
         "exclusiveMinimum": 0,
         "title": "Port",
         "type": "integer"
      },
      "client_type": {
         "default": "redis",
         "description": "Type of broker client. Supported values: 'redis', 'simple'.",
         "enum": [
            "redis",
            "simple"
         ],
         "title": "Client Type",
         "type": "string"
      },
      "broker_params": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "description": "Optional parameters passed to the broker client.",
         "title": "Broker Params"
      },
      "connection_timeout": {
         "default": 300,
         "description": "Connection timeout in seconds. Must be >= 0.",
         "minimum": 0,
         "title": "Connection Timeout",
         "type": "integer"
      },
      "max_backoff": {
         "default": 300,
         "description": "Maximum backoff time in seconds. Must be >= 0.",
         "minimum": 0,
         "title": "Max Backoff",
         "type": "integer"
      },
      "max_retries": {
         "default": 0,
         "description": "Maximum number of retries. Must be >= 0.",
         "minimum": 0,
         "title": "Max Retries",
         "type": "integer"
      }
   }
}

Fields:
field broker_params: dict | None [Optional]#

Optional parameters passed to the broker client.

field client_type: Literal['redis', 'simple'] = 'redis'#

Type of broker client. Supported values: ‘redis’, ‘simple’.

field connection_timeout: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])] = 300#

Connection timeout in seconds. Must be >= 0.

Constraints:
  • ge = 0

field host: str = 'redis'#

Hostname of the broker service.

field max_backoff: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])] = 300#

Maximum backoff time in seconds. Must be >= 0.

Constraints:
  • ge = 0

field max_retries: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])] = 0#

Maximum number of retries. Must be >= 0.

Constraints:
  • ge = 0

field port: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0), Lt(lt=65536)])] = 6379#

Port to connect to. Must be between 1 and 65535.

Constraints:
  • gt = 0

  • lt = 65536

nv_ingest_api.internal.schemas.message_brokers.request_schema module#

pydantic model nv_ingest_api.internal.schemas.message_brokers.request_schema.PopRequestSchema[source]#

Bases: BaseModel

Show JSON schema
{
   "title": "PopRequestSchema",
   "type": "object",
   "properties": {
      "command": {
         "title": "Command",
         "type": "string"
      },
      "queue_name": {
         "minLength": 1,
         "title": "Queue Name",
         "type": "string"
      },
      "timeout": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 100,
         "title": "Timeout"
      }
   },
   "additionalProperties": false,
   "required": [
      "command",
      "queue_name"
   ]
}

Config:
  • extra: str = forbid

Fields:
field command: str [Required]#
field queue_name: str [Required]#
Constraints:
  • min_length = 1

field timeout: float | None = 100#
pydantic model nv_ingest_api.internal.schemas.message_brokers.request_schema.PushRequestSchema[source]#

Bases: BaseModel

Show JSON schema
{
   "title": "PushRequestSchema",
   "type": "object",
   "properties": {
      "command": {
         "title": "Command",
         "type": "string"
      },
      "queue_name": {
         "minLength": 1,
         "title": "Queue Name",
         "type": "string"
      },
      "message": {
         "minLength": 1,
         "title": "Message",
         "type": "string"
      },
      "timeout": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 100,
         "title": "Timeout"
      }
   },
   "additionalProperties": false,
   "required": [
      "command",
      "queue_name",
      "message"
   ]
}

Config:
  • extra: str = forbid

Fields:
field command: str [Required]#
field message: str [Required]#
Constraints:
  • min_length = 1

field queue_name: str [Required]#
Constraints:
  • min_length = 1

field timeout: float | None = 100#
pydantic model nv_ingest_api.internal.schemas.message_brokers.request_schema.SizeRequestSchema[source]#

Bases: BaseModel

Show JSON schema
{
   "title": "SizeRequestSchema",
   "type": "object",
   "properties": {
      "command": {
         "title": "Command",
         "type": "string"
      },
      "queue_name": {
         "minLength": 1,
         "title": "Queue Name",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "command",
      "queue_name"
   ]
}

Config:
  • extra: str = forbid

Fields:
field command: str [Required]#
field queue_name: str [Required]#
Constraints:
  • min_length = 1

nv_ingest_api.internal.schemas.message_brokers.response_schema module#

pydantic model nv_ingest_api.internal.schemas.message_brokers.response_schema.ResponseSchema[source]#

Bases: BaseModel

Show JSON schema
{
   "title": "ResponseSchema",
   "type": "object",
   "properties": {
      "response_code": {
         "title": "Response Code",
         "type": "integer"
      },
      "response_reason": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "OK",
         "title": "Response Reason"
      },
      "response": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Response"
      },
      "trace_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Trace Id"
      },
      "transaction_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Transaction Id"
      }
   },
   "required": [
      "response_code"
   ]
}

Fields:
field response: str | dict | None = None#
field response_code: int [Required]#
field response_reason: str | None = 'OK'#
field trace_id: str | None = None#
field transaction_id: str | None = None#

Module contents#