seguro.commands.scheduler.compose_model.ComposeSpecification

class seguro.commands.scheduler.compose_model.ComposeSpecification(*, version=None, name=None, include=None, services=None, networks=None, volumes=None, secrets=None, configs=None)[source]

Bases: BaseModel

The Compose file is a YAML file defining a multi-containers based application.

Parameters:
  • version (str | None)

  • name (str | None)

  • include (list[Include] | None)

  • services (dict[str, Service] | None)

  • networks (dict[str, Network | None] | None)

  • volumes (dict[str, Volume | None] | None)

  • secrets (dict[str, Secret] | None)

  • configs (dict[str, Config] | None)

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

Return type:

None

Methods

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

construct([_fields_set])

copy(*[, include, exclude, update, deep])

Returns a copy of the model.

dict(*[, include, exclude, by_alias, ...])

from_orm(obj)

json(*[, include, exclude, by_alias, ...])

model_construct([_fields_set])

Creates a new instance of the Model class with validated data.

model_copy(*[, update, deep])

Usage docs: https://docs.pydantic.dev/2.7/concepts/serialization/#model_copy

model_dump(*[, mode, include, exclude, ...])

Usage docs: https://docs.pydantic.dev/2.7/concepts/serialization/#modelmodel_dump

model_dump_json(*[, indent, include, ...])

Usage docs: https://docs.pydantic.dev/2.7/concepts/serialization/#modelmodel_dump_json

model_json_schema([by_alias, ref_template, ...])

Generates a JSON schema for a model class.

model_parametrized_name(params)

Compute the class name for parametrizations of generic classes.

model_post_init(_BaseModel__context)

Override this method to perform additional initialization after __init__ and model_construct.

model_rebuild(*[, force, raise_errors, ...])

Try to rebuild the pydantic-core schema for the model.

model_validate(obj, *[, strict, ...])

Validate a pydantic model instance.

model_validate_json(json_data, *[, strict, ...])

Usage docs: https://docs.pydantic.dev/2.7/concepts/json/#json-parsing

model_validate_strings(obj, *[, strict, context])

Validate the given object contains string data against the Pydantic model.

parse_file(path, *[, content_type, ...])

parse_obj(obj)

parse_raw(b, *[, content_type, encoding, ...])

schema([by_alias, ref_template])

schema_json(*[, by_alias, ref_template])

update_forward_refs(**localns)

validate(value)

Attributes

model_computed_fields

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_extra

Get extra fields set during validation.

model_fields

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

model_fields_set

Returns the set of fields that have been explicitly set on this model instance.

version

declared for backward compatibility, ignored.

name

define the Compose project name, until user defines one explicitly.

include

compose sub-projects to be included.

services

networks

volumes

secrets

configs

configs: dict[str, Config] | None
include: list[Include] | None

compose sub-projects to be included.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'configs': FieldInfo(annotation=Union[dict[str, Config], NoneType], required=False, default=None), 'include': FieldInfo(annotation=Union[list[Include], NoneType], required=False, default=None), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, metadata=[_PydanticGeneralMetadata(pattern='^[a-z0-9][a-z0-9_-]*$')]), 'networks': FieldInfo(annotation=Union[dict[str, Union[Network, NoneType]], NoneType], required=False, default=None), 'secrets': FieldInfo(annotation=Union[dict[str, Secret], NoneType], required=False, default=None), 'services': FieldInfo(annotation=Union[dict[str, Service], NoneType], required=False, default=None), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'volumes': FieldInfo(annotation=Union[dict[str, Union[Volume, NoneType]], NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

name: str | None

define the Compose project name, until user defines one explicitly.

networks: dict[str, Network | None] | None
secrets: dict[str, Secret] | None
services: dict[str, Service] | None
version: str | None

declared for backward compatibility, ignored.

volumes: dict[str, Volume | None] | None