Route 53 (route53)

Primary Models

Primary models are models that you can act on directly. They are the models that represent resources in the AWS service, and are acted on by the managers.

pydantic model botocraft.services.route53.CidrBlockSummary[source]

Bases: PrimaryBoto3Model

A complex type that lists the CIDR blocks.

Show JSON schema
{
   "title": "CidrBlockSummary",
   "description": "A complex type that lists the CIDR blocks.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "CidrBlock": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Cidrblock"
      },
      "LocationName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Locationname"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field CidrBlock: str | None = None

Value for the CIDR block.

field LocationName: str | None = None

The location name of the CIDR block.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

manager_class

alias of CidrBlockSummaryManager

delete()

Delete the model.

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.

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.

save(**kwargs)

Save the model.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

property arn: str | None

Get the ARN of the model instance.

Returns:

The ARN of the model instance.

Raises:

ValueError – If the model has no ARN identity field.

property name: str | None

Return the name of the model. This is the value of the CidrBlock attribute.

Returns:

The name of the model instance.

objects: ClassVar[classproperty] = <botocraft.services.route53.CidrBlockSummaryManager object>

Get the manager for this model, and set it as a class property

property pk: str | None

Return the primary key of the model. This is the value of the CidrBlock attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.route53.HostedZone[source]

Bases: HostedZoneModelMixin, PrimaryBoto3Model

A complex type that contains general information about the hosted zone.

Show JSON schema
{
   "title": "HostedZone",
   "description": "A complex type that contains general information about the hosted zone.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Id": {
         "title": "Id",
         "type": "string"
      },
      "Name": {
         "title": "Name",
         "type": "string"
      },
      "CallerReference": {
         "title": "Callerreference",
         "type": "string"
      },
      "Config": {
         "$ref": "#/$defs/HostedZoneConfig",
         "default": null
      },
      "ResourceRecordSetCount": {
         "default": null,
         "title": "Resourcerecordsetcount",
         "type": "integer"
      },
      "LinkedService": {
         "$ref": "#/$defs/Route53LinkedService",
         "default": null
      },
      "Features": {
         "$ref": "#/$defs/HostedZoneFeatures",
         "default": null
      }
   },
   "$defs": {
      "HostedZoneConfig": {
         "description": "A complex type that contains an optional comment about your hosted zone.\n\nIf you don't want to specify a comment, omit\nboth the ``HostedZoneConfig`` and ``Comment`` elements.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            },
            "PrivateZone": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Privatezone"
            }
         },
         "title": "HostedZoneConfig",
         "type": "object"
      },
      "HostedZoneFailureReasons": {
         "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecovery": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecovery"
            }
         },
         "title": "HostedZoneFailureReasons",
         "type": "object"
      },
      "HostedZoneFeatures": {
         "description": "Represents the features configuration for a hosted zone, including the status of\nvarious features and any associated failure reasons.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecoveryStatus": {
               "anyOf": [
                  {
                     "enum": [
                        "ENABLING",
                        "ENABLE_FAILED",
                        "ENABLING_HOSTED_ZONE_LOCKED",
                        "ENABLED",
                        "DISABLING",
                        "DISABLE_FAILED",
                        "DISABLED",
                        "DISABLING_HOSTED_ZONE_LOCKED"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecoverystatus"
            },
            "FailureReasons": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HostedZoneFailureReasons"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "HostedZoneFeatures",
         "type": "object"
      },
      "Route53LinkedService": {
         "description": "If a health check or hosted zone was created by another service, ``LinkedService``\nis a complex type that describes the service that created the resource.\n\nWhen a resource is created by another service, you can't edit or delete it using\nAmazon Route 53.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ServicePrincipal": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Serviceprincipal"
            },
            "Description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "title": "Route53LinkedService",
         "type": "object"
      }
   },
   "required": [
      "Id",
      "Name",
      "CallerReference"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

  • _attributes_set: dict = {‘default’: None, ‘frozen’: True}

  • _collect_metadata: function = <function FieldInfo._collect_metadata at 0x7112908e9a80>

  • _complete: bool = True

  • _copy: method = <bound method FieldInfo._copy of FieldInfo(annotation=HostedZoneConfig, required=False, default=None, frozen=True)>

  • _from_dataclass_field: function = <function FieldInfo._from_dataclass_field at 0x7112908aec00>

  • _original_annotation: PydanticUndefinedType = PydanticUndefined

  • _original_assignment: PydanticUndefinedType = PydanticUndefined

  • _qualifiers: set = set()

  • alias: NoneType = None

  • alias_priority: NoneType = None

  • annotation: NoneType = None

  • apply_typevars_map: method = <bound method FieldInfo.apply_typevars_map of FieldInfo(annotation=HostedZoneConfig, required=False, default=None, frozen=True)>

  • default: NoneType = None

  • default_factory: NoneType = None

  • default_factory_takes_validated_data: NoneType = None

  • deprecated: NoneType = None

  • deprecation_message: NoneType = None

  • description: NoneType = None

  • discriminator: NoneType = None

  • examples: NoneType = None

  • exclude: NoneType = None

  • field_title_generator: NoneType = None

  • from_annotated_attribute: function = <function FieldInfo.from_annotated_attribute at 0x7112908af6a0>

  • from_annotation: function = <function FieldInfo.from_annotation at 0x7112908af7e0>

  • from_field: function = <function FieldInfo.from_field at 0x7112908af100>

  • frozen: bool = True

  • get_default: method = <bound method FieldInfo.get_default of FieldInfo(annotation=HostedZoneConfig, required=False, default=None, frozen=True)>

  • init: NoneType = None

  • init_var: NoneType = None

  • is_required: method = <bound method FieldInfo.is_required of FieldInfo(annotation=HostedZoneConfig, required=False, default=None, frozen=True)>

  • json_schema_extra: NoneType = None

  • kw_only: NoneType = None

  • merge_field_infos: function = <function FieldInfo.merge_field_infos at 0x7112908af920>

  • metadata: list = []

  • metadata_lookup: dict = {‘strict’: <class ‘pydantic.types.Strict’>, ‘gt’: <class ‘annotated_types.Gt’>, ‘ge’: <class ‘annotated_types.Ge’>, ‘lt’: <class ‘annotated_types.Lt’>, ‘le’: <class ‘annotated_types.Le’>, ‘multiple_of’: <class ‘annotated_types.MultipleOf’>, ‘min_length’: <class ‘annotated_types.MinLen’>, ‘max_length’: <class ‘annotated_types.MaxLen’>, ‘pattern’: None, ‘allow_inf_nan’: None, ‘max_digits’: None, ‘decimal_places’: None, ‘union_mode’: None, ‘coerce_numbers_to_str’: None, ‘fail_fast’: <class ‘pydantic.types.FailFast’>}

  • rebuild_annotation: method = <bound method FieldInfo.rebuild_annotation of FieldInfo(annotation=HostedZoneConfig, required=False, default=None, frozen=True)>

  • repr: bool = True

  • serialization_alias: NoneType = None

  • title: NoneType = None

  • validate_default: NoneType = None

  • validation_alias: NoneType = None

Fields:
field CallerReference: str [Required]

The value that you specified for CallerReference when you created the hosted zone.

field Config: HostedZoneConfig = None

A complex type that includes the Comment and PrivateZone elements.

If you omitted the HostedZoneConfig and Comment elements from the request, the Config and Comment elements don’t appear in the response.

field Features: HostedZoneFeatures = None

The features configuration for the hosted zone, including accelerated recovery settings and status information.

field Id: str [Required]

The ID that Amazon Route 53 assigned to the hosted zone when you created it.

field LinkedService: Route53LinkedService = None

If the hosted zone was created by another service, the service that created the hosted zone.

When a hosted zone is created by another service, you can’t edit or delete it using Route 53.

field Name: str [Required]

The name of the domain.

For public hosted zones, this is the name that you have registered with your DNS registrar.

field ResourceRecordSetCount: int = None

The number of resource record sets in the hosted zone.

field session: boto3.session.Session = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

manager_class

alias of HostedZoneManager

delete()

Delete the model.

lookup(RecordName: str, RecordType: Literal['SOA', 'A', 'TXT', 'NS', 'CNAME', 'MX', 'NAPTR', 'PTR', 'SRV', 'SPF', 'AAAA', 'CAA', 'DS'] = 'A') Route53ResourceRecordSet | None

Look for a record in this hosted zone with the given name and type.

Parameters:

RecordName – The name of the record to look up.

Keyword Arguments:

RecordType – The type of record to look up. Defaults to “A”.

Returns:

The record if found, or None if not found.

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.

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.

save(**kwargs)

Save the model.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

update_comment(Comment: str) HostedZone[source]

Update the comment for the hosted zone.

Parameters:

Comment – The new comment for the hosted zone. If you don’t specify a value for Comment, Amazon Route 53 deletes the existing value of the Comment element, if any.

property arn: str | None

Get the ARN of the model instance.

Returns:

The ARN of the model instance.

Raises:

ValueError – If the model has no ARN identity field.

property name: str | None

Return the name of the model. This is the value of the Name attribute.

Returns:

The name of the model instance.

objects: ClassVar[classproperty] = <botocraft.services.route53.HostedZoneManager object>

Get the manager for this model, and set it as a class property

property pk: str | None

Return the primary key of the model. This is the value of the Id attribute.

Returns:

The primary key of the model instance.

property records: list[botocraft.services.route53.Route53ResourceRecordSet] | None

Return the records in the hosted zone.

Note

The output of this property is cached on the model instance, so calling this multiple times will not result in multiple calls to the AWS API. If you need a fresh copy of the data, you can re-get the model instance from the manager.

pydantic model botocraft.services.route53.Route53CidrCollection[source]

Bases: PrimaryBoto3Model

A complex type that identifies a CIDR collection.

Show JSON schema
{
   "title": "Route53CidrCollection",
   "description": "A complex type that identifies a CIDR collection.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Arn": {
         "default": null,
         "title": "Arn",
         "type": "string"
      },
      "Id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Id"
      },
      "Name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "Version": {
         "default": null,
         "title": "Version",
         "type": "integer"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Arn: str = None

The ARN of the collection.

Can be used to reference the collection in IAM policy or in another Amazon Web Services account.

field Id: str | None = None

The unique ID of the CIDR collection.

field Name: str | None = None

The name of a CIDR collection.

field Version: int = None

A sequential counter that Route 53 sets to 1 when you create a CIDR collection and increments by 1 each time you update settings for the CIDR collection.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

manager_class

alias of Route53CidrCollectionManager

delete()

Delete the model.

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.

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.

save(**kwargs)

Save the model.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

property arn: str | None

Return the ARN of the model. This is the value of the Arn attribute.

Returns:

The ARN of the model instance.

property name: str | None

Return the name of the model. This is the value of the Name attribute.

Returns:

The name of the model instance.

objects: ClassVar[classproperty] = <botocraft.services.route53.Route53CidrCollectionManager object>

Get the manager for this model, and set it as a class property

property pk: str | None

Return the primary key of the model. This is the value of the Id attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.route53.Route53QueryLoggingConfig[source]

Bases: PrimaryBoto3Model

A complex type that contains information about a configuration for DNS query logging.

Show JSON schema
{
   "title": "Route53QueryLoggingConfig",
   "description": "A complex type that contains information about a configuration for DNS query\nlogging.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Id": {
         "title": "Id",
         "type": "string"
      },
      "HostedZoneId": {
         "title": "Hostedzoneid",
         "type": "string"
      },
      "CloudWatchLogsLogGroupArn": {
         "title": "Cloudwatchlogsloggrouparn",
         "type": "string"
      }
   },
   "required": [
      "Id",
      "HostedZoneId",
      "CloudWatchLogsLogGroupArn"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field CloudWatchLogsLogGroupArn: str [Required]

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.

field HostedZoneId: str [Required]

The ID of the hosted zone that CloudWatch Logs is logging queries for.

field Id: str [Required]

The ID for a configuration for DNS query logging.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

manager_class

alias of Route53QueryLoggingConfigManager

delete()

Delete the model.

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.

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.

save(**kwargs)

Save the model.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

property arn: str | None

Get the ARN of the model instance.

Returns:

The ARN of the model instance.

Raises:

ValueError – If the model has no ARN identity field.

property name: str | None

Return the name of the model. This is the value of the Id attribute.

Returns:

The name of the model instance.

objects: ClassVar[classproperty] = <botocraft.services.route53.Route53QueryLoggingConfigManager object>

Get the manager for this model, and set it as a class property

property pk: str | None

Return the primary key of the model. This is the value of the Id attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.route53.Route53ResourceRecordSet[source]

Bases: PrimaryBoto3Model

Information about the resource record set to create or delete.

Show JSON schema
{
   "title": "Route53ResourceRecordSet",
   "description": "Information about the resource record set to create or delete.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Name": {
         "title": "Name",
         "type": "string"
      },
      "Type": {
         "enum": [
            "SOA",
            "A",
            "TXT",
            "NS",
            "CNAME",
            "MX",
            "NAPTR",
            "PTR",
            "SRV",
            "SPF",
            "AAAA",
            "CAA",
            "DS",
            "TLSA",
            "SSHFP",
            "SVCB",
            "HTTPS"
         ],
         "title": "Type",
         "type": "string"
      },
      "SetIdentifier": {
         "default": null,
         "title": "Setidentifier",
         "type": "string"
      },
      "Weight": {
         "default": null,
         "title": "Weight",
         "type": "integer"
      },
      "Region": {
         "default": null,
         "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "ca-central-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-central-2",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-southeast-3",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "eu-north-1",
            "sa-east-1",
            "cn-north-1",
            "cn-northwest-1",
            "ap-east-1",
            "me-south-1",
            "me-central-1",
            "ap-south-1",
            "ap-south-2",
            "af-south-1",
            "eu-south-1",
            "eu-south-2",
            "ap-southeast-4",
            "il-central-1",
            "ca-west-1",
            "ap-southeast-5",
            "mx-central-1",
            "ap-southeast-7",
            "us-gov-east-1",
            "us-gov-west-1",
            "ap-east-2",
            "ap-southeast-6",
            "eusc-de-east-1"
         ],
         "title": "Region",
         "type": "string"
      },
      "GeoLocation": {
         "$ref": "#/$defs/Route53GeoLocation",
         "default": null
      },
      "Failover": {
         "default": null,
         "enum": [
            "PRIMARY",
            "SECONDARY"
         ],
         "title": "Failover",
         "type": "string"
      },
      "MultiValueAnswer": {
         "default": null,
         "title": "Multivalueanswer",
         "type": "boolean"
      },
      "TTL": {
         "default": null,
         "title": "Ttl",
         "type": "integer"
      },
      "ResourceRecords": {
         "items": {
            "$ref": "#/$defs/ResourceRecord"
         },
         "title": "Resourcerecords",
         "type": "array"
      },
      "AliasTarget": {
         "$ref": "#/$defs/Route53AliasTarget",
         "default": null
      },
      "HealthCheckId": {
         "default": null,
         "title": "Healthcheckid",
         "type": "string"
      },
      "TrafficPolicyInstanceId": {
         "default": null,
         "title": "Trafficpolicyinstanceid",
         "type": "string"
      },
      "CidrRoutingConfig": {
         "$ref": "#/$defs/Route53CidrRoutingConfig",
         "default": null
      },
      "GeoProximityLocation": {
         "$ref": "#/$defs/Route53GeoProximityLocation",
         "default": null
      }
   },
   "$defs": {
      "ResourceRecord": {
         "description": "Information specific to the resource record.\n\nIf you're creating an alias resource record set, omit ``ResourceRecord``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "Value"
         ],
         "title": "ResourceRecord",
         "type": "object"
      },
      "Route53AliasTarget": {
         "description": "*Alias resource record sets only:* Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to\nroute traffic to.\n\nWhen creating resource record sets for a private hosted zone, note the following:\n\n* For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a\n  Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "DNSName": {
               "title": "Dnsname",
               "type": "string"
            },
            "EvaluateTargetHealth": {
               "title": "Evaluatetargethealth",
               "type": "boolean"
            }
         },
         "required": [
            "HostedZoneId",
            "DNSName",
            "EvaluateTargetHealth"
         ],
         "title": "Route53AliasTarget",
         "type": "object"
      },
      "Route53CidrRoutingConfig": {
         "description": "The object that is specified in resource record set object when you are linking a\nresource record set to a CIDR location.\n\nA ``LocationName`` with an asterisk \u201c*\u201d can be used to create a default CIDR record. ``CollectionId`` is still required\nfor default record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "CollectionId": {
               "title": "Collectionid",
               "type": "string"
            },
            "LocationName": {
               "title": "Locationname",
               "type": "string"
            }
         },
         "required": [
            "CollectionId",
            "LocationName"
         ],
         "title": "Route53CidrRoutingConfig",
         "type": "object"
      },
      "Route53Coordinates": {
         "description": "A complex type that lists the coordinates for a geoproximity resource record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Latitude": {
               "title": "Latitude",
               "type": "string"
            },
            "Longitude": {
               "title": "Longitude",
               "type": "string"
            }
         },
         "required": [
            "Latitude",
            "Longitude"
         ],
         "title": "Route53Coordinates",
         "type": "object"
      },
      "Route53GeoLocation": {
         "description": "A complex type that contains information about a geographic location.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ContinentCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Continentcode"
            },
            "CountryCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Countrycode"
            },
            "SubdivisionCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Subdivisioncode"
            }
         },
         "title": "Route53GeoLocation",
         "type": "object"
      },
      "Route53GeoProximityLocation": {
         "description": "(Resource record sets only): A complex type that lets you specify where your\nresources are located. Only one of ``LocalZoneGroup``, ``Coordinates``, or ``Amazon\nWeb ServicesRegion`` is allowed per request at a time.\n\nFor more information about geoproximity routing, see\n`Geoproximity routing <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html>`_\nin the *Amazon\nRoute\u00a053 Developer Guide*.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AWSRegion": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Awsregion"
            },
            "LocalZoneGroup": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Localzonegroup"
            },
            "Coordinates": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Route53Coordinates"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Bias": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Bias"
            }
         },
         "title": "Route53GeoProximityLocation",
         "type": "object"
      }
   },
   "required": [
      "Name",
      "Type"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field AliasTarget: Route53AliasTarget = None

Alias resource record sets only: Information about the Amazon Web Services resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.

field CidrRoutingConfig: Route53CidrRoutingConfig = None

The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.

field Failover: Literal['PRIMARY', 'SECONDARY'] = None

Failover resource record sets only: To configure failover, you add the Failover element to two resource record sets.

For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set.

field GeoLocation: Route53GeoLocation = None

Geolocation resource record sets only: A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query.

For example, if you want all queries from Africa to be routed to a web server with an IP address of 192.0.2.111, create a resource record set with a Type of A and a ContinentCode of AF.

field GeoProximityLocation: Route53GeoProximityLocation = None

GeoproximityLocation resource record sets only: A complex type that lets you control how Route 53 responds to DNS queries based on the geographic origin of the query and your resources.

field HealthCheckId: str = None

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check.

field MultiValueAnswer: bool = None

Multivalue answer resource record sets only: To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer.

Note the following:

field Name: str [Required]

For ChangeResourceRecordSets requests, the name of the record that you want to create, update, or delete.

For ListResourceRecordSets responses, the name of a record in the specified hosted zone.

field Region: Literal['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-central-1', 'eu-central-2', 'ap-southeast-1', 'ap-southeast-2', 'ap-southeast-3', 'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3', 'eu-north-1', 'sa-east-1', 'cn-north-1', 'cn-northwest-1', 'ap-east-1', 'me-south-1', 'me-central-1', 'ap-south-1', 'ap-south-2', 'af-south-1', 'eu-south-1', 'eu-south-2', 'ap-southeast-4', 'il-central-1', 'ca-west-1', 'ap-southeast-5', 'mx-central-1', 'ap-southeast-7', 'us-gov-east-1', 'us-gov-west-1', 'ap-east-2', 'ap-southeast-6', 'eusc-de-east-1'] = None

Latency-based resource record sets only: The Amazon EC2 Region where you created the resource that this resource record set refers to.

The resource typically is an Amazon Web Services resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.

field ResourceRecords: builtins.list[ResourceRecord] [Optional]

Information about the resource records to act upon.

field SetIdentifier: str = None

Resource record sets that have a routing policy other than simple: An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A.

In a group of resource record sets that have the same name and type, the value of SetIdentifier must be unique for each resource record set.

field TTL: int = None

The resource record cache time to live (TTL), in seconds.

Note the following:

field TrafficPolicyInstanceId: str = None

When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set.

TrafficPolicyInstanceId is the ID of the traffic policy instance that Route 53 created this resource record set for.

field Type: Literal['SOA', 'A', 'TXT', 'NS', 'CNAME', 'MX', 'NAPTR', 'PTR', 'SRV', 'SPF', 'AAAA', 'CAA', 'DS', 'TLSA', 'SSHFP', 'SVCB', 'HTTPS'] [Required]

The DNS record type.

For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

field Weight: int = None

Weighted resource record sets only: Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set.

Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource’s weight to the total. Note the following:

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

manager_class

alias of Route53ResourceRecordSetManager

delete()

Delete the model.

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.

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.

save(**kwargs)

Save the model.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

property arn: str | None

Get the ARN of the model instance.

Returns:

The ARN of the model instance.

Raises:

ValueError – If the model has no ARN identity field.

property name: str | None

Return the name of the model. This is the value of the Name attribute.

Returns:

The name of the model instance.

objects: ClassVar[classproperty] = <botocraft.services.route53.Route53ResourceRecordSetManager object>

Get the manager for this model, and set it as a class property

property pk: str | None

Return the primary key of the model. This is the value of the Name attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.route53.Route53VPC[source]

Bases: PrimaryBoto3Model

(Private hosted zones only) A complex type that contains information about an Amazon VPC.

If you associate a private hosted zone with an Amazon VPC when you make a CreateHostedZone request, the following parameters are also required.

Show JSON schema
{
   "title": "Route53VPC",
   "description": "(Private hosted zones only) A complex type that contains information about an Amazon\nVPC.\n\nIf you associate a private hosted zone with an Amazon VPC when you make a\n`CreateHostedZone <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html>`_\nrequest, the\nfollowing parameters are also required.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "VPCRegion": {
         "anyOf": [
            {
               "enum": [
                  "us-east-1",
                  "us-east-2",
                  "us-west-1",
                  "us-west-2",
                  "eu-west-1",
                  "eu-west-2",
                  "eu-west-3",
                  "eu-central-1",
                  "eu-central-2",
                  "ap-east-1",
                  "me-south-1",
                  "us-gov-west-1",
                  "us-gov-east-1",
                  "us-iso-east-1",
                  "us-iso-west-1",
                  "us-isob-east-1",
                  "me-central-1",
                  "ap-southeast-1",
                  "ap-southeast-2",
                  "ap-southeast-3",
                  "ap-south-1",
                  "ap-south-2",
                  "ap-northeast-1",
                  "ap-northeast-2",
                  "ap-northeast-3",
                  "eu-north-1",
                  "sa-east-1",
                  "ca-central-1",
                  "cn-north-1",
                  "cn-northwest-1",
                  "af-south-1",
                  "eu-south-1",
                  "eu-south-2",
                  "ap-southeast-4",
                  "il-central-1",
                  "ca-west-1",
                  "ap-southeast-5",
                  "mx-central-1",
                  "us-isof-south-1",
                  "us-isof-east-1",
                  "ap-southeast-7",
                  "ap-east-2",
                  "eu-isoe-west-1",
                  "ap-southeast-6",
                  "us-isob-west-1",
                  "eusc-de-east-1"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Vpcregion"
      },
      "VPCId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Vpcid"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field VPCId: str | None = None

(Private hosted zones only) The ID of an Amazon VPC.

field VPCRegion: Literal['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-central-1', 'eu-central-2', 'ap-east-1', 'me-south-1', 'us-gov-west-1', 'us-gov-east-1', 'us-iso-east-1', 'us-iso-west-1', 'us-isob-east-1', 'me-central-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-southeast-3', 'ap-south-1', 'ap-south-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3', 'eu-north-1', 'sa-east-1', 'ca-central-1', 'cn-north-1', 'cn-northwest-1', 'af-south-1', 'eu-south-1', 'eu-south-2', 'ap-southeast-4', 'il-central-1', 'ca-west-1', 'ap-southeast-5', 'mx-central-1', 'us-isof-south-1', 'us-isof-east-1', 'ap-southeast-7', 'ap-east-2', 'eu-isoe-west-1', 'ap-southeast-6', 'us-isob-west-1', 'eusc-de-east-1'] | None = None

(Private hosted zones only) The region that an Amazon VPC was created in.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

manager_class

alias of Route53VPCManager

delete()

Delete the model.

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.

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.

save(**kwargs)

Save the model.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

property arn: str | None

Get the ARN of the model instance.

Returns:

The ARN of the model instance.

Raises:

ValueError – If the model has no ARN identity field.

property name: str | None

Get the name of the model instance.

Returns:

The name of the model instance.

Raises:

ValueError – If the model has no name identity field.

objects: ClassVar[classproperty] = <botocraft.services.route53.Route53VPCManager object>

Get the manager for this model, and set it as a class property

property pk: str | None

Return the primary key of the model. This is the value of the VPCId attribute.

Returns:

The primary key of the model instance.

Managers

Managers work with the primary models to provide a high-level interface to the AWS service. They are responsible for creating, updating, and deleting the resources in the service, as well as any additional operations that are available for those models.

class botocraft.services.route53.CidrBlockSummaryManager[source]

Bases: Boto3ModelManager

list(CollectionId: str, *, LocationName: str | None = None) PrimaryBoto3ModelQuerySet[source]

Returns a paginated list of location objects and their CIDR blocks.

Parameters:

CollectionId – The UUID of the CIDR collection.

Keyword Arguments:

LocationName – The name of the CIDR collection location.

service_name: str = 'route53'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

class botocraft.services.route53.HostedZoneManager[source]

Bases: Boto3ModelManager

associate_vpc(HostedZoneId: str, VPC: Route53VPC, *, Comment: str | None = None) ChangeInfo[source]

Associates an Amazon VPC with a private hosted zone.

Parameters:
  • HostedZoneId – The ID of the private hosted zone that you want to associate an Amazon VPC with.

  • VPC – A complex type that contains information about the VPC that you want to associate with a private hosted zone.

Keyword Arguments:

CommentOptional: A comment about the association request.

count() int[source]

Retrieves the number of hosted zones that are associated with the current Amazon Web Services account.

create(model: HostedZone, VPC: Route53VPC | None = None, HostedZoneConfig: HostedZoneConfig | None = None, DelegationSetId: str | None = None) HostedZone[source]

Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).

Parameters:

model – The HostedZone to create.

Keyword Arguments:
  • VPC – (Private hosted zones only) A complex type that contains information about the Amazon VPC that you’re associating with this hosted zone.

  • HostedZoneConfig – (Optional) A complex type that contains the following optional values:

  • DelegationSetId – If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDel egationSet.

delete(Id: str) HostedZone[source]

Deletes a hosted zone.

Parameters:

Id – The ID of the hosted zone you want to delete.

disassociate_vpc(HostedZoneId: str, VPC: Route53VPC, *, Comment: str | None = None) ChangeInfo[source]

Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon Route 53 private hosted zone. Note the following:

Parameters:
  • HostedZoneId – The ID of the private hosted zone that you want to disassociate a VPC from.

  • VPC – A complex type that contains information about the VPC that you’re disassociating from the specified hosted zone.

Keyword Arguments:

CommentOptional: A comment about the disassociation request.

get(Id: str) HostedZone | None[source]

Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.

Parameters:

Id – The ID of the hosted zone that you want to get information about.

limits(Type: Literal['MAX_RRSETS_BY_ZONE', 'MAX_VPCS_ASSOCIATED_BY_ZONE'], HostedZoneId: str) GetHostedZoneLimitResponse[source]

Gets the specified limit for a specified hosted zone, for example, the maximum number of records that you can create in the hosted zone.

Parameters:
  • Type – The limit that you want to get. Valid values include the following:

  • HostedZoneId – The ID of the hosted zone that you want to get a limit for.

list(*, MaxItems: str | None = None, DelegationSetId: str | None = None, HostedZoneType: Literal['PrivateHostedZone'] | None = None) PrimaryBoto3ModelQuerySet[source]

Retrieves a list of the public and private hosted zones that are associated with the current Amazon Web Services account. The response includes a HostedZones child element for each hosted zone.

Keyword Arguments:
  • MaxItems – (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If you have more than maxitems hosted zones, the value of IsTruncated in the response is true, and the value of NextMarker is the hosted zone ID of the first hosted zone that Route 53 will return if you submit another request.

  • DelegationSetId – If you’re using reusable delegation sets and you want to list all of the hosted zones that are associated with a reusable delegation set, specify the ID of that reusable delegation set.

  • HostedZoneType – (Optional) Specifies if the hosted zone is private.

list_by_name(*, DNSName: str | None = None, HostedZoneId: str | None = None, MaxItems: str | None = None) list[botocraft.services.route53.HostedZone][source]

Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones child element for each hosted zone created by the current Amazon Web Services account.

Keyword Arguments:
  • DNSName – (Optional) For your first request to ListHostedZonesByName, include the dnsname parameter only if you want to specify the name of the first hosted zone in the response. If you don’t include the dnsname parameter, Amazon Route 53 returns all of the hosted zones that were created by the current Amazon Web Services account, in ASCII order. For subsequent requests, include both dnsname and hostedzoneid parameters. For dnsname, specify the value of NextDNSName from the previous response.

  • HostedZoneId – (Optional) For your first request to ListHostedZonesByName, do not include the hostedzoneid parameter.

  • MaxItems – The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems hosted zones, then the value of the IsTruncated element in the response is true, and the values of NextDNSName and NextHostedZoneId specify the first hosted zone in the next group of maxitems hosted zones.

list_by_vpc(*, DNSName: str | None = None, HostedZoneId: str | None = None, MaxItems: str | None = None) list[botocraft.services.route53.HostedZone][source]

Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones child element for each hosted zone created by the current Amazon Web Services account.

Keyword Arguments:
  • DNSName – (Optional) For your first request to ListHostedZonesByName, include the dnsname parameter only if you want to specify the name of the first hosted zone in the response. If you don’t include the dnsname parameter, Amazon Route 53 returns all of the hosted zones that were created by the current Amazon Web Services account, in ASCII order. For subsequent requests, include both dnsname and hostedzoneid parameters. For dnsname, specify the value of NextDNSName from the previous response.

  • HostedZoneId – (Optional) For your first request to ListHostedZonesByName, do not include the hostedzoneid parameter.

  • MaxItems – The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems hosted zones, then the value of the IsTruncated element in the response is true, and the values of NextDNSName and NextHostedZoneId specify the first hosted zone in the next group of maxitems hosted zones.

list_records(HostedZoneId: str, *, StartRecordName: str | None = None, StartRecordType: Literal['SOA', 'A', 'TXT', 'NS', 'CNAME', 'MX', 'NAPTR', 'PTR', 'SRV', 'SPF', 'AAAA', 'CAA', 'DS', 'TLSA', 'SSHFP', 'SVCB', 'HTTPS'] | None = None, StartRecordIdentifier: str | None = None, MaxItems: str | None = None) list[botocraft.services.route53.Route53ResourceRecordSet][source]

Lists the resource record sets in a specified hosted zone.

Parameters:

HostedZoneId – The ID of the hosted zone that contains the resource record sets that you want to list.

Keyword Arguments:
  • StartRecordName – The first name in the lexicographic ordering of resource record sets that you want to list. If the specified record name doesn’t exist, the results begin with the first resource record set that has a name greater than the value of name.

  • StartRecordType – The type of resource record set to begin the record listing from.

  • StartRecordIdentifierResource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current DNS name and type.

  • MaxItems – (Optional) The maximum number of resource records sets to include in the response body for this request. If the response includes more than maxitems resource record sets, the value of the IsTruncated element in the response is true, and the values of the NextRecordName and NextRecordType elements in the response identify the first resource record set in the next group of maxitems resource record sets.

update_comment(Id: str, Comment: str) HostedZone[source]

Updates the comment for a specified hosted zone.

Parameters:
  • Id – The ID for the hosted zone that you want to update the comment for.

  • Comment – The new comment for the hosted zone. If you don’t specify a value for Comment, Amazon Route 53 deletes the existing value of the Comment element, if any.

service_name: str = 'route53'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

class botocraft.services.route53.Route53CidrCollectionManager[source]

Bases: Boto3ModelManager

create(model: Route53CidrCollection, CallerReference: str) CreateCidrCollectionResponse[source]

Creates a CIDR collection in the current Amazon Web Services account.

Parameters:
  • model – The CidrCollection to create.

  • CallerReference – A client-specific token that allows requests to be securely retried so that the intended outcome will only occur once, retries receive a similar response, and there are no additional edge cases to handle.

delete(Id: str) None[source]

Deletes a CIDR collection in the current Amazon Web Services account. The collection must be empty before it can be deleted.

Parameters:

Id – The UUID of the collection to delete.

list() PrimaryBoto3ModelQuerySet[source]

Returns a paginated list of CIDR collections in the Amazon Web Services account (metadata only).

update(model: Route53CidrCollection, CollectionVersion: int | None = None) str[source]

Creates, changes, or deletes CIDR blocks within a collection. Contains authoritative IP information mapping blocks to one or multiple locations.

Parameters:

model – The CidrCollection to update.

Keyword Arguments:

CollectionVersion – A sequential counter that Amazon Route 53 sets to 1 when you create a collection and increments it by 1 each time you update the collection.

service_name: str = 'route53'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

class botocraft.services.route53.Route53QueryLoggingConfigManager[source]

Bases: Boto3ModelManager

create(model: Route53QueryLoggingConfig) Route53QueryLoggingConfig[source]

Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

Parameters:

model – The QueryLoggingConfig to create.

delete(Id: str) None[source]

Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn’t delete any logs that are already in CloudWatch Logs.

Parameters:

Id – The ID of the configuration that you want to delete.

get(Id: str) Route53QueryLoggingConfig | None[source]

Gets information about a specified configuration for DNS query logging.

Parameters:

Id – The ID of the configuration for DNS query logging that you want to get information about.

list(*, HostedZoneId: str | None = None) PrimaryBoto3ModelQuerySet[source]

Lists the configurations for DNS query logging that are associated with the current Amazon Web Services account or the configuration that is associated with a specified hosted zone.

Keyword Arguments:

HostedZoneId – (Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in HostedZoneId.

service_name: str = 'route53'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

class botocraft.services.route53.Route53ResourceRecordSetManager[source]

Bases: Boto3ModelManager

change(HostedZoneId: str, ChangeBatch: ChangeBatch) ChangeInfo[source]

Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44.

Parameters:
  • HostedZoneId – The ID of the hosted zone that contains the resource record sets that you want to change.

  • ChangeBatch – A complex type that contains an optional comment and the Changes element.

list(HostedZoneId: str, *, StartRecordName: str | None = None, StartRecordType: Literal['SOA', 'A', 'TXT', 'NS', 'CNAME', 'MX', 'NAPTR', 'PTR', 'SRV', 'SPF', 'AAAA', 'CAA', 'DS', 'TLSA', 'SSHFP', 'SVCB', 'HTTPS'] | None = None, StartRecordIdentifier: str | None = None, MaxItems: str | None = None) PrimaryBoto3ModelQuerySet[source]

Lists the resource record sets in a specified hosted zone.

Parameters:

HostedZoneId – The ID of the hosted zone that contains the resource record sets that you want to list.

Keyword Arguments:
  • StartRecordName – The first name in the lexicographic ordering of resource record sets that you want to list. If the specified record name doesn’t exist, the results begin with the first resource record set that has a name greater than the value of name.

  • StartRecordType – The type of resource record set to begin the record listing from.

  • StartRecordIdentifierResource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current DNS name and type.

  • MaxItems – (Optional) The maximum number of resource records sets to include in the response body for this request. If the response includes more than maxitems resource record sets, the value of the IsTruncated element in the response is true, and the values of the NextRecordName and NextRecordType elements in the response identify the first resource record set in the next group of maxitems resource record sets.

service_name: str = 'route53'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

class botocraft.services.route53.Route53VPCManager[source]

Bases: Boto3ModelManager

associate(HostedZoneId: str, VPC: Route53VPC, *, Comment: str | None = None) ChangeInfo[source]

Associates an Amazon VPC with a private hosted zone.

Parameters:
  • HostedZoneId – The ID of the private hosted zone that you want to associate an Amazon VPC with.

  • VPC – A complex type that contains information about the VPC that you want to associate with a private hosted zone.

Keyword Arguments:

CommentOptional: A comment about the association request.

create_authorization(HostedZoneId: str, VPC: Route53VPC) Route53VPC[source]

Authorizes the Amazon Web Services account that created a specified VPC to submit an AssociateVPCWithHostedZone request to associate the VPC with a specified hosted zone that was created by a different account. To submit a CreateVPCAssociationAuthorization request, you must use the account that created the hosted zone. After you authorize the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

Parameters:
  • HostedZoneId – The ID of the private hosted zone that you want to authorize associating a VPC with.

  • VPC – A complex type that contains the VPC ID and region for the VPC that you want to authorize associating with your hosted zone.

delete_authorization(HostedZoneId: str, VPC: Route53VPC) DeleteVPCAssociationAuthorizationResponse[source]

Removes authorization to submit an AssociateVPCWithHostedZone request to associate a specified VPC with a hosted zone that was created by a different account. You must use the account that created the hosted zone to submit a DeleteVPCAssociationAuthorization request.

Parameters:
  • HostedZoneId – When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone that was created with a different Amazon Web Services account, the ID of the hosted zone.

  • VPC – When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone that was created with a different Amazon Web Services account, a complex type that includes the ID and region of the VPC.

disassociate(HostedZoneId: str, VPC: Route53VPC, *, Comment: str | None = None) ChangeInfo[source]

Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon Route 53 private hosted zone. Note the following:

Parameters:
  • HostedZoneId – The ID of the private hosted zone that you want to disassociate a VPC from.

  • VPC – A complex type that contains information about the VPC that you’re disassociating from the specified hosted zone.

Keyword Arguments:

CommentOptional: A comment about the disassociation request.

list_authorizations(HostedZoneId: str) list[botocraft.services.route53.Route53VPC][source]

Gets a list of the VPCs that were created by other accounts and that can be associated with a specified hosted zone because you’ve submitted one or more CreateVPCAssociationAuthorization requests.

Parameters:

HostedZoneId – The ID of the hosted zone for which you want a list of VPCs that can be associated with the hosted zone.

list_hosted_zones(VPCId: str, VPCRegion: Literal['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-central-1', 'eu-central-2', 'ap-east-1', 'me-south-1', 'us-gov-west-1', 'us-gov-east-1', 'us-iso-east-1', 'us-iso-west-1', 'us-isob-east-1', 'me-central-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-southeast-3', 'ap-south-1', 'ap-south-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3', 'eu-north-1', 'sa-east-1', 'ca-central-1', 'cn-north-1', 'cn-northwest-1', 'af-south-1', 'eu-south-1', 'eu-south-2', 'ap-southeast-4', 'il-central-1', 'ca-west-1', 'ap-southeast-5', 'mx-central-1', 'us-isof-south-1', 'us-isof-east-1', 'ap-southeast-7', 'ap-east-2', 'eu-isoe-west-1', 'ap-southeast-6', 'us-isob-west-1', 'eusc-de-east-1'], *, MaxItems: str | None = None, NextToken: str | None = None) list[botocraft.services.route53.HostedZoneSummary][source]

Lists all the private hosted zones that a specified VPC is associated with, regardless of which Amazon Web Services account or Amazon Web Services service owns the hosted zones. The HostedZoneOwner structure in the response contains one of the following values:

Parameters:
  • VPCId – The ID of the Amazon VPC that you want to list hosted zones for.

  • VPCRegion – For the Amazon VPC that you specified for VPCId, the Amazon Web Services Region that you created the VPC in.

Keyword Arguments:
  • MaxItems – (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If the specified VPC is associated with more than MaxItems hosted zones, the response includes a NextToken element. NextToken contains an encrypted token that identifies the first hosted zone that Route 53 will return if you submit another request.

  • NextToken – If the previous response included a NextToken element, the specified VPC is associated with more hosted zones. To get more hosted zones, submit another ListHostedZonesByVPC request.

service_name: str = 'route53'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

Secondary Models

Secondary models are models that are used by the primary models to organize their data. They are not acted on directly, but are used to describe the structure of the fields in the primary models or other secondary models.

pydantic model botocraft.services.route53.HostedZoneConfig[source]

Bases: Boto3Model

A complex type that contains an optional comment about your hosted zone.

If you don’t want to specify a comment, omit both the HostedZoneConfig and Comment elements.

Show JSON schema
{
   "title": "HostedZoneConfig",
   "description": "A complex type that contains an optional comment about your hosted zone.\n\nIf you don't want to specify a comment, omit\nboth the ``HostedZoneConfig`` and ``Comment`` elements.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Comment": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Comment"
      },
      "PrivateZone": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Privatezone"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Comment: str | None = None

Any comments that you want to include about the hosted zone.

field PrivateZone: bool | None = None

A value that indicates whether this is a private hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.HostedZoneFailureReasons[source]

Bases: Boto3Model

Contains information about why certain features failed to be enabled or configured for the hosted zone.

Show JSON schema
{
   "title": "HostedZoneFailureReasons",
   "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "AcceleratedRecovery": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Acceleratedrecovery"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field AcceleratedRecovery: str | None = None

The reason why accelerated recovery failed to be enabled or disabled for the hosted zone, if applicable.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.HostedZoneFeatures[source]

Bases: Boto3Model

Represents the features configuration for a hosted zone, including the status of various features and any associated failure reasons.

Show JSON schema
{
   "title": "HostedZoneFeatures",
   "description": "Represents the features configuration for a hosted zone, including the status of\nvarious features and any associated failure reasons.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "AcceleratedRecoveryStatus": {
         "anyOf": [
            {
               "enum": [
                  "ENABLING",
                  "ENABLE_FAILED",
                  "ENABLING_HOSTED_ZONE_LOCKED",
                  "ENABLED",
                  "DISABLING",
                  "DISABLE_FAILED",
                  "DISABLED",
                  "DISABLING_HOSTED_ZONE_LOCKED"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Acceleratedrecoverystatus"
      },
      "FailureReasons": {
         "anyOf": [
            {
               "$ref": "#/$defs/HostedZoneFailureReasons"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "HostedZoneFailureReasons": {
         "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecovery": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecovery"
            }
         },
         "title": "HostedZoneFailureReasons",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field AcceleratedRecoveryStatus: Literal['ENABLING', 'ENABLE_FAILED', 'ENABLING_HOSTED_ZONE_LOCKED', 'ENABLED', 'DISABLING', 'DISABLE_FAILED', 'DISABLED', 'DISABLING_HOSTED_ZONE_LOCKED'] | None = None

The current status of accelerated recovery for the hosted zone.

field FailureReasons: HostedZoneFailureReasons | None = None

Information about any failures that occurred when attempting to enable or configure features for the hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ResourceRecord[source]

Bases: Boto3Model

Information specific to the resource record.

If you’re creating an alias resource record set, omit ResourceRecord.

Show JSON schema
{
   "title": "ResourceRecord",
   "description": "Information specific to the resource record.\n\nIf you're creating an alias resource record set, omit ``ResourceRecord``.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Value": {
         "title": "Value",
         "type": "string"
      }
   },
   "required": [
      "Value"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Value: str [Required]

The current or new DNS record value, not to exceed 4,000 characters.

In the case of a DELETE action, if the current value does not match the actual value, an error is returned. For descriptions about how to format Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Route53AliasTarget[source]

Bases: Boto3Model

Alias resource record sets only: Information about the Amazon Web Services resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.

When creating resource record sets for a private hosted zone, note the following:

Show JSON schema
{
   "title": "Route53AliasTarget",
   "description": "*Alias resource record sets only:* Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to\nroute traffic to.\n\nWhen creating resource record sets for a private hosted zone, note the following:\n\n* For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a\n  Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZoneId": {
         "title": "Hostedzoneid",
         "type": "string"
      },
      "DNSName": {
         "title": "Dnsname",
         "type": "string"
      },
      "EvaluateTargetHealth": {
         "title": "Evaluatetargethealth",
         "type": "boolean"
      }
   },
   "required": [
      "HostedZoneId",
      "DNSName",
      "EvaluateTargetHealth"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field DNSName: str [Required]

Alias resource record sets only: The value that you specify depends on where you want to route queries:

field EvaluateTargetHealth: bool [Required]

Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced Amazon Web Services resource, such as an ELB load balancer or another resource record set in the hosted zone.

field HostedZoneId: str [Required]

Alias resource records sets only: The value used depends on where you want to route traffic:

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Route53CidrRoutingConfig[source]

Bases: Boto3Model

The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.

A LocationName with an asterisk “*” can be used to create a default CIDR record. CollectionId is still required for default record.

Show JSON schema
{
   "title": "Route53CidrRoutingConfig",
   "description": "The object that is specified in resource record set object when you are linking a\nresource record set to a CIDR location.\n\nA ``LocationName`` with an asterisk \u201c*\u201d can be used to create a default CIDR record. ``CollectionId`` is still required\nfor default record.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "CollectionId": {
         "title": "Collectionid",
         "type": "string"
      },
      "LocationName": {
         "title": "Locationname",
         "type": "string"
      }
   },
   "required": [
      "CollectionId",
      "LocationName"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field CollectionId: str [Required]

The CIDR collection ID.

field LocationName: str [Required]

The CIDR collection location name.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Route53Coordinates[source]

Bases: Boto3Model

A complex type that lists the coordinates for a geoproximity resource record.

Show JSON schema
{
   "title": "Route53Coordinates",
   "description": "A complex type that lists the coordinates for a geoproximity resource record.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Latitude": {
         "title": "Latitude",
         "type": "string"
      },
      "Longitude": {
         "title": "Longitude",
         "type": "string"
      }
   },
   "required": [
      "Latitude",
      "Longitude"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Latitude: str [Required]

Specifies a coordinate of the north-south position of a geographic point on the surface of the Earth (-90 - 90).

field Longitude: str [Required]

Specifies a coordinate of the east-west position of a geographic point on the surface of the Earth (-180 - 180).

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Route53GeoLocation[source]

Bases: Boto3Model

A complex type that contains information about a geographic location.

Show JSON schema
{
   "title": "Route53GeoLocation",
   "description": "A complex type that contains information about a geographic location.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "ContinentCode": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Continentcode"
      },
      "CountryCode": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Countrycode"
      },
      "SubdivisionCode": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Subdivisioncode"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field ContinentCode: str | None = None

The two-letter code for the continent.

field CountryCode: str | None = None

For geolocation resource record sets, the two-letter code for a country.

field SubdivisionCode: str | None = None

For geolocation resource record sets, the two-letter code for a state of the United States.

Route 53 doesn’t support any other values for SubdivisionCode. For a list of state abbreviations, see Appendix B: Two-Letter State and Possession Abbreviations on the United States Postal Service website.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Route53GeoProximityLocation[source]

Bases: Boto3Model

(Resource record sets only): A complex type that lets you specify where your resources are located. Only one of LocalZoneGroup, Coordinates, or Amazon Web ServicesRegion is allowed per request at a time.

For more information about geoproximity routing, see Geoproximity routing in the Amazon Route 53 Developer Guide.

Show JSON schema
{
   "title": "Route53GeoProximityLocation",
   "description": "(Resource record sets only): A complex type that lets you specify where your\nresources are located. Only one of ``LocalZoneGroup``, ``Coordinates``, or ``Amazon\nWeb ServicesRegion`` is allowed per request at a time.\n\nFor more information about geoproximity routing, see\n`Geoproximity routing <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html>`_\nin the *Amazon\nRoute\u00a053 Developer Guide*.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "AWSRegion": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Awsregion"
      },
      "LocalZoneGroup": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Localzonegroup"
      },
      "Coordinates": {
         "anyOf": [
            {
               "$ref": "#/$defs/Route53Coordinates"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "Bias": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Bias"
      }
   },
   "$defs": {
      "Route53Coordinates": {
         "description": "A complex type that lists the coordinates for a geoproximity resource record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Latitude": {
               "title": "Latitude",
               "type": "string"
            },
            "Longitude": {
               "title": "Longitude",
               "type": "string"
            }
         },
         "required": [
            "Latitude",
            "Longitude"
         ],
         "title": "Route53Coordinates",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field AWSRegion: str | None = None

The Amazon Web Services Region the resource you are directing DNS traffic to, is in.

field Bias: int | None = None

The bias increases or decreases the size of the geographic region from which Route 53 routes traffic to a resource.

field Coordinates: Route53Coordinates | None = None

Contains the longitude and latitude for a geographic region.

field LocalZoneGroup: str | None = None

Specifies an Amazon Web Services Local Zone Group.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Route53LinkedService[source]

Bases: Boto3Model

If a health check or hosted zone was created by another service, LinkedService is a complex type that describes the service that created the resource.

When a resource is created by another service, you can’t edit or delete it using Amazon Route 53.

Show JSON schema
{
   "title": "Route53LinkedService",
   "description": "If a health check or hosted zone was created by another service, ``LinkedService``\nis a complex type that describes the service that created the resource.\n\nWhen a resource is created by another service, you can't edit or delete it using\nAmazon Route 53.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "ServicePrincipal": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Serviceprincipal"
      },
      "Description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Description: str | None = None

If the health check or hosted zone was created by another service, an optional description that can be provided by the other service.

When a resource is created by another service, you can’t edit or delete it using Amazon Route 53.

field ServicePrincipal: str | None = None

If the health check or hosted zone was created by another service, the service that created the resource.

When a resource is created by another service, you can’t edit or delete it using Amazon Route 53.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

Request/Response Models

Request/response models are models that are used to describe the structure of the data that is sent to and received from the AWS service. They are used by the managers to send requests to the service and to parse the responses that are received.

You will not often use them directly – typically they are used by the managers internally to send requests and parse responses – but they are included here for completeness, and because occasionally we return them directly to you because they have some useful additional information.

pydantic model botocraft.services.route53.AssociateVPCWithHostedZoneResponse[source]

Bases: Boto3Model

A complex type that contains the response information for the AssociateVPCWithHostedZone request.

Show JSON schema
{
   "title": "AssociateVPCWithHostedZoneResponse",
   "description": "A complex type that contains the response information for the\n``AssociateVPCWithHostedZone`` request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "ChangeInfo": {
         "$ref": "#/$defs/ChangeInfo"
      }
   },
   "$defs": {
      "ChangeInfo": {
         "description": "A complex type that describes change information about changes made to your hosted\nzone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Status": {
               "enum": [
                  "PENDING",
                  "INSYNC"
               ],
               "title": "Status",
               "type": "string"
            },
            "SubmittedAt": {
               "format": "date-time",
               "title": "Submittedat",
               "type": "string"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            }
         },
         "required": [
            "Id",
            "Status",
            "SubmittedAt"
         ],
         "title": "ChangeInfo",
         "type": "object"
      }
   },
   "required": [
      "ChangeInfo"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field ChangeInfo: ChangeInfo [Required]

A complex type that describes the changes made to your hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Change[source]

Bases: Boto3Model

The information for each resource record set that you want to change.

Show JSON schema
{
   "title": "Change",
   "description": "The information for each resource record set that you want to change.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Action": {
         "enum": [
            "CREATE",
            "DELETE",
            "UPSERT"
         ],
         "title": "Action",
         "type": "string"
      },
      "ResourceRecordSet": {
         "$ref": "#/$defs/Route53ResourceRecordSet"
      }
   },
   "$defs": {
      "ResourceRecord": {
         "description": "Information specific to the resource record.\n\nIf you're creating an alias resource record set, omit ``ResourceRecord``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "Value"
         ],
         "title": "ResourceRecord",
         "type": "object"
      },
      "Route53AliasTarget": {
         "description": "*Alias resource record sets only:* Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to\nroute traffic to.\n\nWhen creating resource record sets for a private hosted zone, note the following:\n\n* For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a\n  Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "DNSName": {
               "title": "Dnsname",
               "type": "string"
            },
            "EvaluateTargetHealth": {
               "title": "Evaluatetargethealth",
               "type": "boolean"
            }
         },
         "required": [
            "HostedZoneId",
            "DNSName",
            "EvaluateTargetHealth"
         ],
         "title": "Route53AliasTarget",
         "type": "object"
      },
      "Route53CidrRoutingConfig": {
         "description": "The object that is specified in resource record set object when you are linking a\nresource record set to a CIDR location.\n\nA ``LocationName`` with an asterisk \u201c*\u201d can be used to create a default CIDR record. ``CollectionId`` is still required\nfor default record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "CollectionId": {
               "title": "Collectionid",
               "type": "string"
            },
            "LocationName": {
               "title": "Locationname",
               "type": "string"
            }
         },
         "required": [
            "CollectionId",
            "LocationName"
         ],
         "title": "Route53CidrRoutingConfig",
         "type": "object"
      },
      "Route53Coordinates": {
         "description": "A complex type that lists the coordinates for a geoproximity resource record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Latitude": {
               "title": "Latitude",
               "type": "string"
            },
            "Longitude": {
               "title": "Longitude",
               "type": "string"
            }
         },
         "required": [
            "Latitude",
            "Longitude"
         ],
         "title": "Route53Coordinates",
         "type": "object"
      },
      "Route53GeoLocation": {
         "description": "A complex type that contains information about a geographic location.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ContinentCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Continentcode"
            },
            "CountryCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Countrycode"
            },
            "SubdivisionCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Subdivisioncode"
            }
         },
         "title": "Route53GeoLocation",
         "type": "object"
      },
      "Route53GeoProximityLocation": {
         "description": "(Resource record sets only): A complex type that lets you specify where your\nresources are located. Only one of ``LocalZoneGroup``, ``Coordinates``, or ``Amazon\nWeb ServicesRegion`` is allowed per request at a time.\n\nFor more information about geoproximity routing, see\n`Geoproximity routing <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html>`_\nin the *Amazon\nRoute\u00a053 Developer Guide*.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AWSRegion": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Awsregion"
            },
            "LocalZoneGroup": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Localzonegroup"
            },
            "Coordinates": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Route53Coordinates"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Bias": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Bias"
            }
         },
         "title": "Route53GeoProximityLocation",
         "type": "object"
      },
      "Route53ResourceRecordSet": {
         "description": "Information about the resource record set to create or delete.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "Type": {
               "enum": [
                  "SOA",
                  "A",
                  "TXT",
                  "NS",
                  "CNAME",
                  "MX",
                  "NAPTR",
                  "PTR",
                  "SRV",
                  "SPF",
                  "AAAA",
                  "CAA",
                  "DS",
                  "TLSA",
                  "SSHFP",
                  "SVCB",
                  "HTTPS"
               ],
               "title": "Type",
               "type": "string"
            },
            "SetIdentifier": {
               "default": null,
               "title": "Setidentifier",
               "type": "string"
            },
            "Weight": {
               "default": null,
               "title": "Weight",
               "type": "integer"
            },
            "Region": {
               "default": null,
               "enum": [
                  "us-east-1",
                  "us-east-2",
                  "us-west-1",
                  "us-west-2",
                  "ca-central-1",
                  "eu-west-1",
                  "eu-west-2",
                  "eu-west-3",
                  "eu-central-1",
                  "eu-central-2",
                  "ap-southeast-1",
                  "ap-southeast-2",
                  "ap-southeast-3",
                  "ap-northeast-1",
                  "ap-northeast-2",
                  "ap-northeast-3",
                  "eu-north-1",
                  "sa-east-1",
                  "cn-north-1",
                  "cn-northwest-1",
                  "ap-east-1",
                  "me-south-1",
                  "me-central-1",
                  "ap-south-1",
                  "ap-south-2",
                  "af-south-1",
                  "eu-south-1",
                  "eu-south-2",
                  "ap-southeast-4",
                  "il-central-1",
                  "ca-west-1",
                  "ap-southeast-5",
                  "mx-central-1",
                  "ap-southeast-7",
                  "us-gov-east-1",
                  "us-gov-west-1",
                  "ap-east-2",
                  "ap-southeast-6",
                  "eusc-de-east-1"
               ],
               "title": "Region",
               "type": "string"
            },
            "GeoLocation": {
               "$ref": "#/$defs/Route53GeoLocation",
               "default": null
            },
            "Failover": {
               "default": null,
               "enum": [
                  "PRIMARY",
                  "SECONDARY"
               ],
               "title": "Failover",
               "type": "string"
            },
            "MultiValueAnswer": {
               "default": null,
               "title": "Multivalueanswer",
               "type": "boolean"
            },
            "TTL": {
               "default": null,
               "title": "Ttl",
               "type": "integer"
            },
            "ResourceRecords": {
               "items": {
                  "$ref": "#/$defs/ResourceRecord"
               },
               "title": "Resourcerecords",
               "type": "array"
            },
            "AliasTarget": {
               "$ref": "#/$defs/Route53AliasTarget",
               "default": null
            },
            "HealthCheckId": {
               "default": null,
               "title": "Healthcheckid",
               "type": "string"
            },
            "TrafficPolicyInstanceId": {
               "default": null,
               "title": "Trafficpolicyinstanceid",
               "type": "string"
            },
            "CidrRoutingConfig": {
               "$ref": "#/$defs/Route53CidrRoutingConfig",
               "default": null
            },
            "GeoProximityLocation": {
               "$ref": "#/$defs/Route53GeoProximityLocation",
               "default": null
            }
         },
         "required": [
            "Name",
            "Type"
         ],
         "title": "Route53ResourceRecordSet",
         "type": "object"
      }
   },
   "required": [
      "Action",
      "ResourceRecordSet"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Action: Literal['CREATE', 'DELETE', 'UPSERT'] [Required]

The action to perform:

field ResourceRecordSet: Route53ResourceRecordSet [Required]

Information about the resource record set to create, delete, or update.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ChangeBatch[source]

Bases: Boto3Model

The information for a change request.

Show JSON schema
{
   "title": "ChangeBatch",
   "description": "The information for a change request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Comment": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Comment"
      },
      "Changes": {
         "items": {
            "$ref": "#/$defs/Change"
         },
         "title": "Changes",
         "type": "array"
      }
   },
   "$defs": {
      "Change": {
         "description": "The information for each resource record set that you want to change.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Action": {
               "enum": [
                  "CREATE",
                  "DELETE",
                  "UPSERT"
               ],
               "title": "Action",
               "type": "string"
            },
            "ResourceRecordSet": {
               "$ref": "#/$defs/Route53ResourceRecordSet"
            }
         },
         "required": [
            "Action",
            "ResourceRecordSet"
         ],
         "title": "Change",
         "type": "object"
      },
      "ResourceRecord": {
         "description": "Information specific to the resource record.\n\nIf you're creating an alias resource record set, omit ``ResourceRecord``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "Value"
         ],
         "title": "ResourceRecord",
         "type": "object"
      },
      "Route53AliasTarget": {
         "description": "*Alias resource record sets only:* Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to\nroute traffic to.\n\nWhen creating resource record sets for a private hosted zone, note the following:\n\n* For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a\n  Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "DNSName": {
               "title": "Dnsname",
               "type": "string"
            },
            "EvaluateTargetHealth": {
               "title": "Evaluatetargethealth",
               "type": "boolean"
            }
         },
         "required": [
            "HostedZoneId",
            "DNSName",
            "EvaluateTargetHealth"
         ],
         "title": "Route53AliasTarget",
         "type": "object"
      },
      "Route53CidrRoutingConfig": {
         "description": "The object that is specified in resource record set object when you are linking a\nresource record set to a CIDR location.\n\nA ``LocationName`` with an asterisk \u201c*\u201d can be used to create a default CIDR record. ``CollectionId`` is still required\nfor default record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "CollectionId": {
               "title": "Collectionid",
               "type": "string"
            },
            "LocationName": {
               "title": "Locationname",
               "type": "string"
            }
         },
         "required": [
            "CollectionId",
            "LocationName"
         ],
         "title": "Route53CidrRoutingConfig",
         "type": "object"
      },
      "Route53Coordinates": {
         "description": "A complex type that lists the coordinates for a geoproximity resource record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Latitude": {
               "title": "Latitude",
               "type": "string"
            },
            "Longitude": {
               "title": "Longitude",
               "type": "string"
            }
         },
         "required": [
            "Latitude",
            "Longitude"
         ],
         "title": "Route53Coordinates",
         "type": "object"
      },
      "Route53GeoLocation": {
         "description": "A complex type that contains information about a geographic location.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ContinentCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Continentcode"
            },
            "CountryCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Countrycode"
            },
            "SubdivisionCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Subdivisioncode"
            }
         },
         "title": "Route53GeoLocation",
         "type": "object"
      },
      "Route53GeoProximityLocation": {
         "description": "(Resource record sets only): A complex type that lets you specify where your\nresources are located. Only one of ``LocalZoneGroup``, ``Coordinates``, or ``Amazon\nWeb ServicesRegion`` is allowed per request at a time.\n\nFor more information about geoproximity routing, see\n`Geoproximity routing <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html>`_\nin the *Amazon\nRoute\u00a053 Developer Guide*.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AWSRegion": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Awsregion"
            },
            "LocalZoneGroup": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Localzonegroup"
            },
            "Coordinates": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Route53Coordinates"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Bias": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Bias"
            }
         },
         "title": "Route53GeoProximityLocation",
         "type": "object"
      },
      "Route53ResourceRecordSet": {
         "description": "Information about the resource record set to create or delete.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "Type": {
               "enum": [
                  "SOA",
                  "A",
                  "TXT",
                  "NS",
                  "CNAME",
                  "MX",
                  "NAPTR",
                  "PTR",
                  "SRV",
                  "SPF",
                  "AAAA",
                  "CAA",
                  "DS",
                  "TLSA",
                  "SSHFP",
                  "SVCB",
                  "HTTPS"
               ],
               "title": "Type",
               "type": "string"
            },
            "SetIdentifier": {
               "default": null,
               "title": "Setidentifier",
               "type": "string"
            },
            "Weight": {
               "default": null,
               "title": "Weight",
               "type": "integer"
            },
            "Region": {
               "default": null,
               "enum": [
                  "us-east-1",
                  "us-east-2",
                  "us-west-1",
                  "us-west-2",
                  "ca-central-1",
                  "eu-west-1",
                  "eu-west-2",
                  "eu-west-3",
                  "eu-central-1",
                  "eu-central-2",
                  "ap-southeast-1",
                  "ap-southeast-2",
                  "ap-southeast-3",
                  "ap-northeast-1",
                  "ap-northeast-2",
                  "ap-northeast-3",
                  "eu-north-1",
                  "sa-east-1",
                  "cn-north-1",
                  "cn-northwest-1",
                  "ap-east-1",
                  "me-south-1",
                  "me-central-1",
                  "ap-south-1",
                  "ap-south-2",
                  "af-south-1",
                  "eu-south-1",
                  "eu-south-2",
                  "ap-southeast-4",
                  "il-central-1",
                  "ca-west-1",
                  "ap-southeast-5",
                  "mx-central-1",
                  "ap-southeast-7",
                  "us-gov-east-1",
                  "us-gov-west-1",
                  "ap-east-2",
                  "ap-southeast-6",
                  "eusc-de-east-1"
               ],
               "title": "Region",
               "type": "string"
            },
            "GeoLocation": {
               "$ref": "#/$defs/Route53GeoLocation",
               "default": null
            },
            "Failover": {
               "default": null,
               "enum": [
                  "PRIMARY",
                  "SECONDARY"
               ],
               "title": "Failover",
               "type": "string"
            },
            "MultiValueAnswer": {
               "default": null,
               "title": "Multivalueanswer",
               "type": "boolean"
            },
            "TTL": {
               "default": null,
               "title": "Ttl",
               "type": "integer"
            },
            "ResourceRecords": {
               "items": {
                  "$ref": "#/$defs/ResourceRecord"
               },
               "title": "Resourcerecords",
               "type": "array"
            },
            "AliasTarget": {
               "$ref": "#/$defs/Route53AliasTarget",
               "default": null
            },
            "HealthCheckId": {
               "default": null,
               "title": "Healthcheckid",
               "type": "string"
            },
            "TrafficPolicyInstanceId": {
               "default": null,
               "title": "Trafficpolicyinstanceid",
               "type": "string"
            },
            "CidrRoutingConfig": {
               "$ref": "#/$defs/Route53CidrRoutingConfig",
               "default": null
            },
            "GeoProximityLocation": {
               "$ref": "#/$defs/Route53GeoProximityLocation",
               "default": null
            }
         },
         "required": [
            "Name",
            "Type"
         ],
         "title": "Route53ResourceRecordSet",
         "type": "object"
      }
   },
   "required": [
      "Changes"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Changes: builtins.list[Change] [Required]

Information about the changes to make to the record sets.

field Comment: str | None = None

Optional: Any comments you want to include about a change batch request.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ChangeCidrCollectionResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "ChangeCidrCollectionResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Id": {
         "title": "Id",
         "type": "string"
      }
   },
   "required": [
      "Id"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Id: str [Required]

The ID that is returned by ChangeCidrCollection.

You can use it as input to GetChange to see if a CIDR collection change has propagated or not.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ChangeInfo[source]

Bases: Boto3Model

A complex type that describes change information about changes made to your hosted zone.

Show JSON schema
{
   "title": "ChangeInfo",
   "description": "A complex type that describes change information about changes made to your hosted\nzone.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Id": {
         "title": "Id",
         "type": "string"
      },
      "Status": {
         "enum": [
            "PENDING",
            "INSYNC"
         ],
         "title": "Status",
         "type": "string"
      },
      "SubmittedAt": {
         "format": "date-time",
         "title": "Submittedat",
         "type": "string"
      },
      "Comment": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Comment"
      }
   },
   "required": [
      "Id",
      "Status",
      "SubmittedAt"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Comment: str | None = None

A comment you can provide.

field Id: str [Required]

This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

field Status: Literal['PENDING', 'INSYNC'] [Required]

The current state of the request.

PENDING indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

field SubmittedAt: datetime [Required]

The date and time that the change request was submitted in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ChangeResourceRecordSetsResponse[source]

Bases: Boto3Model

A complex type containing the response for the request.

Show JSON schema
{
   "title": "ChangeResourceRecordSetsResponse",
   "description": "A complex type containing the response for the request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "ChangeInfo": {
         "$ref": "#/$defs/ChangeInfo"
      }
   },
   "$defs": {
      "ChangeInfo": {
         "description": "A complex type that describes change information about changes made to your hosted\nzone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Status": {
               "enum": [
                  "PENDING",
                  "INSYNC"
               ],
               "title": "Status",
               "type": "string"
            },
            "SubmittedAt": {
               "format": "date-time",
               "title": "Submittedat",
               "type": "string"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            }
         },
         "required": [
            "Id",
            "Status",
            "SubmittedAt"
         ],
         "title": "ChangeInfo",
         "type": "object"
      }
   },
   "required": [
      "ChangeInfo"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field ChangeInfo: ChangeInfo [Required]

A complex type that contains information about changes made to your hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.CidrCollectionChange[source]

Bases: Boto3Model

A complex type that contains information about the CIDR collection change.

Show JSON schema
{
   "title": "CidrCollectionChange",
   "description": "A complex type that contains information about the CIDR collection change.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "LocationName": {
         "title": "Locationname",
         "type": "string"
      },
      "Action": {
         "enum": [
            "PUT",
            "DELETE_IF_EXISTS"
         ],
         "title": "Action",
         "type": "string"
      },
      "CidrList": {
         "items": {
            "type": "string"
         },
         "title": "Cidrlist",
         "type": "array"
      }
   },
   "required": [
      "LocationName",
      "Action",
      "CidrList"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Action: Literal['PUT', 'DELETE_IF_EXISTS'] [Required]

CIDR collection change action.

field CidrList: builtins.list[str] [Required]

List of CIDR blocks.

field LocationName: str [Required]

Name of the location that is associated with the CIDR collection.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.CollectionSummary[source]

Bases: Boto3Model

A complex type that is an entry in an CidrCollection array.

Show JSON schema
{
   "title": "CollectionSummary",
   "description": "A complex type that is an entry in an\n`CidrCollection <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CidrCollection.html>`_ array.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Arn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Arn"
      },
      "Id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Id"
      },
      "Name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "Version": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Version"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Arn: str | None = None

The ARN of the collection summary.

Can be used to reference the collection in IAM policy or cross-account.

field Id: str | None = None

Unique ID for the CIDR collection.

field Name: str | None = None

The name of a CIDR collection.

field Version: int | None = None

A sequential counter that Route 53 sets to 1 when you create a CIDR collection and increments by 1 each time you update settings for the CIDR collection.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.CreateCidrCollectionResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "CreateCidrCollectionResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Collection": {
         "anyOf": [
            {
               "$ref": "#/$defs/Route53CidrCollection"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "Location": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Location"
      }
   },
   "$defs": {
      "Route53CidrCollection": {
         "description": "A complex type that identifies a CIDR collection.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Arn": {
               "default": null,
               "title": "Arn",
               "type": "string"
            },
            "Id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            },
            "Name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "Version": {
               "default": null,
               "title": "Version",
               "type": "integer"
            }
         },
         "title": "Route53CidrCollection",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Collection: Route53CidrCollection | None = None

A complex type that contains information about the CIDR collection.

field Location: str | None = None

A unique URL that represents the location for the CIDR collection.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.CreateHostedZoneResponse[source]

Bases: Boto3Model

A complex type containing the response information for the hosted zone.

Show JSON schema
{
   "title": "CreateHostedZoneResponse",
   "description": "A complex type containing the response information for the hosted zone.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZone": {
         "$ref": "#/$defs/HostedZone"
      },
      "ChangeInfo": {
         "$ref": "#/$defs/ChangeInfo"
      },
      "DelegationSet": {
         "$ref": "#/$defs/Route53DelegationSet"
      },
      "VPC": {
         "anyOf": [
            {
               "$ref": "#/$defs/Route53VPC"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "Location": {
         "title": "Location",
         "type": "string"
      }
   },
   "$defs": {
      "ChangeInfo": {
         "description": "A complex type that describes change information about changes made to your hosted\nzone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Status": {
               "enum": [
                  "PENDING",
                  "INSYNC"
               ],
               "title": "Status",
               "type": "string"
            },
            "SubmittedAt": {
               "format": "date-time",
               "title": "Submittedat",
               "type": "string"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            }
         },
         "required": [
            "Id",
            "Status",
            "SubmittedAt"
         ],
         "title": "ChangeInfo",
         "type": "object"
      },
      "HostedZone": {
         "description": "A complex type that contains general information about the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "CallerReference": {
               "title": "Callerreference",
               "type": "string"
            },
            "Config": {
               "$ref": "#/$defs/HostedZoneConfig",
               "default": null
            },
            "ResourceRecordSetCount": {
               "default": null,
               "title": "Resourcerecordsetcount",
               "type": "integer"
            },
            "LinkedService": {
               "$ref": "#/$defs/Route53LinkedService",
               "default": null
            },
            "Features": {
               "$ref": "#/$defs/HostedZoneFeatures",
               "default": null
            }
         },
         "required": [
            "Id",
            "Name",
            "CallerReference"
         ],
         "title": "HostedZone",
         "type": "object"
      },
      "HostedZoneConfig": {
         "description": "A complex type that contains an optional comment about your hosted zone.\n\nIf you don't want to specify a comment, omit\nboth the ``HostedZoneConfig`` and ``Comment`` elements.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            },
            "PrivateZone": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Privatezone"
            }
         },
         "title": "HostedZoneConfig",
         "type": "object"
      },
      "HostedZoneFailureReasons": {
         "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecovery": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecovery"
            }
         },
         "title": "HostedZoneFailureReasons",
         "type": "object"
      },
      "HostedZoneFeatures": {
         "description": "Represents the features configuration for a hosted zone, including the status of\nvarious features and any associated failure reasons.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecoveryStatus": {
               "anyOf": [
                  {
                     "enum": [
                        "ENABLING",
                        "ENABLE_FAILED",
                        "ENABLING_HOSTED_ZONE_LOCKED",
                        "ENABLED",
                        "DISABLING",
                        "DISABLE_FAILED",
                        "DISABLED",
                        "DISABLING_HOSTED_ZONE_LOCKED"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecoverystatus"
            },
            "FailureReasons": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HostedZoneFailureReasons"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "HostedZoneFeatures",
         "type": "object"
      },
      "Route53DelegationSet": {
         "description": "A complex type that lists the name servers in a delegation set, as well as the\n``CallerReference`` and the ``ID`` for the delegation set.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            },
            "CallerReference": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Callerreference"
            },
            "NameServers": {
               "items": {
                  "type": "string"
               },
               "title": "Nameservers",
               "type": "array"
            }
         },
         "required": [
            "NameServers"
         ],
         "title": "Route53DelegationSet",
         "type": "object"
      },
      "Route53LinkedService": {
         "description": "If a health check or hosted zone was created by another service, ``LinkedService``\nis a complex type that describes the service that created the resource.\n\nWhen a resource is created by another service, you can't edit or delete it using\nAmazon Route 53.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ServicePrincipal": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Serviceprincipal"
            },
            "Description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "title": "Route53LinkedService",
         "type": "object"
      },
      "Route53VPC": {
         "description": "(Private hosted zones only) A complex type that contains information about an Amazon\nVPC.\n\nIf you associate a private hosted zone with an Amazon VPC when you make a\n`CreateHostedZone <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html>`_\nrequest, the\nfollowing parameters are also required.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "VPCRegion": {
               "anyOf": [
                  {
                     "enum": [
                        "us-east-1",
                        "us-east-2",
                        "us-west-1",
                        "us-west-2",
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3",
                        "eu-central-1",
                        "eu-central-2",
                        "ap-east-1",
                        "me-south-1",
                        "us-gov-west-1",
                        "us-gov-east-1",
                        "us-iso-east-1",
                        "us-iso-west-1",
                        "us-isob-east-1",
                        "me-central-1",
                        "ap-southeast-1",
                        "ap-southeast-2",
                        "ap-southeast-3",
                        "ap-south-1",
                        "ap-south-2",
                        "ap-northeast-1",
                        "ap-northeast-2",
                        "ap-northeast-3",
                        "eu-north-1",
                        "sa-east-1",
                        "ca-central-1",
                        "cn-north-1",
                        "cn-northwest-1",
                        "af-south-1",
                        "eu-south-1",
                        "eu-south-2",
                        "ap-southeast-4",
                        "il-central-1",
                        "ca-west-1",
                        "ap-southeast-5",
                        "mx-central-1",
                        "us-isof-south-1",
                        "us-isof-east-1",
                        "ap-southeast-7",
                        "ap-east-2",
                        "eu-isoe-west-1",
                        "ap-southeast-6",
                        "us-isob-west-1",
                        "eusc-de-east-1"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcregion"
            },
            "VPCId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcid"
            }
         },
         "title": "Route53VPC",
         "type": "object"
      }
   },
   "required": [
      "HostedZone",
      "ChangeInfo",
      "DelegationSet",
      "Location"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field ChangeInfo: ChangeInfo [Required]

A complex type that contains information about the CreateHostedZone request.

field DelegationSet: Route53DelegationSet [Required]

A complex type that describes the name servers for this hosted zone.

field HostedZone: HostedZone [Required]

A complex type that contains general information about the hosted zone.

field Location: str [Required]

The unique URL representing the new hosted zone.

field VPC: Route53VPC | None = None

A complex type that contains information about an Amazon VPC that you associated with this hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.CreateQueryLoggingConfigResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "CreateQueryLoggingConfigResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "QueryLoggingConfig": {
         "$ref": "#/$defs/Route53QueryLoggingConfig"
      },
      "Location": {
         "title": "Location",
         "type": "string"
      }
   },
   "$defs": {
      "Route53QueryLoggingConfig": {
         "description": "A complex type that contains information about a configuration for DNS query\nlogging.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "CloudWatchLogsLogGroupArn": {
               "title": "Cloudwatchlogsloggrouparn",
               "type": "string"
            }
         },
         "required": [
            "Id",
            "HostedZoneId",
            "CloudWatchLogsLogGroupArn"
         ],
         "title": "Route53QueryLoggingConfig",
         "type": "object"
      }
   },
   "required": [
      "QueryLoggingConfig",
      "Location"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Location: str [Required]

The unique URL representing the new query logging configuration.

field QueryLoggingConfig: Route53QueryLoggingConfig [Required]

A complex type that contains the ID for a query logging configuration, the ID of the hosted zone that you want to log queries for, and the ARN for the log group that you want Amazon Route 53 to send query logs to.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.CreateVPCAssociationAuthorizationResponse[source]

Bases: Boto3Model

A complex type that contains the response information from a CreateVPCAssociationAuthorization request.

Show JSON schema
{
   "title": "CreateVPCAssociationAuthorizationResponse",
   "description": "A complex type that contains the response information from a\n``CreateVPCAssociationAuthorization`` request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZoneId": {
         "title": "Hostedzoneid",
         "type": "string"
      },
      "VPC": {
         "$ref": "#/$defs/Route53VPC"
      }
   },
   "$defs": {
      "Route53VPC": {
         "description": "(Private hosted zones only) A complex type that contains information about an Amazon\nVPC.\n\nIf you associate a private hosted zone with an Amazon VPC when you make a\n`CreateHostedZone <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html>`_\nrequest, the\nfollowing parameters are also required.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "VPCRegion": {
               "anyOf": [
                  {
                     "enum": [
                        "us-east-1",
                        "us-east-2",
                        "us-west-1",
                        "us-west-2",
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3",
                        "eu-central-1",
                        "eu-central-2",
                        "ap-east-1",
                        "me-south-1",
                        "us-gov-west-1",
                        "us-gov-east-1",
                        "us-iso-east-1",
                        "us-iso-west-1",
                        "us-isob-east-1",
                        "me-central-1",
                        "ap-southeast-1",
                        "ap-southeast-2",
                        "ap-southeast-3",
                        "ap-south-1",
                        "ap-south-2",
                        "ap-northeast-1",
                        "ap-northeast-2",
                        "ap-northeast-3",
                        "eu-north-1",
                        "sa-east-1",
                        "ca-central-1",
                        "cn-north-1",
                        "cn-northwest-1",
                        "af-south-1",
                        "eu-south-1",
                        "eu-south-2",
                        "ap-southeast-4",
                        "il-central-1",
                        "ca-west-1",
                        "ap-southeast-5",
                        "mx-central-1",
                        "us-isof-south-1",
                        "us-isof-east-1",
                        "ap-southeast-7",
                        "ap-east-2",
                        "eu-isoe-west-1",
                        "ap-southeast-6",
                        "us-isob-west-1",
                        "eusc-de-east-1"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcregion"
            },
            "VPCId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcid"
            }
         },
         "title": "Route53VPC",
         "type": "object"
      }
   },
   "required": [
      "HostedZoneId",
      "VPC"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field HostedZoneId: str [Required]

The ID of the hosted zone that you authorized associating a VPC with.

field VPC: Route53VPC [Required]

The VPC that you authorized associating with a hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.DeleteCidrCollectionResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "DeleteCidrCollectionResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.DeleteHostedZoneResponse[source]

Bases: Boto3Model

A complex type that contains the response to a DeleteHostedZone request.

Show JSON schema
{
   "title": "DeleteHostedZoneResponse",
   "description": "A complex type that contains the response to a ``DeleteHostedZone`` request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "ChangeInfo": {
         "$ref": "#/$defs/ChangeInfo"
      }
   },
   "$defs": {
      "ChangeInfo": {
         "description": "A complex type that describes change information about changes made to your hosted\nzone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Status": {
               "enum": [
                  "PENDING",
                  "INSYNC"
               ],
               "title": "Status",
               "type": "string"
            },
            "SubmittedAt": {
               "format": "date-time",
               "title": "Submittedat",
               "type": "string"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            }
         },
         "required": [
            "Id",
            "Status",
            "SubmittedAt"
         ],
         "title": "ChangeInfo",
         "type": "object"
      }
   },
   "required": [
      "ChangeInfo"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field ChangeInfo: ChangeInfo [Required]

A complex type that contains the ID, the status, and the date and time of a request to delete a hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.DeleteQueryLoggingConfigResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "DeleteQueryLoggingConfigResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.DeleteVPCAssociationAuthorizationResponse[source]

Bases: Boto3Model

Empty response for the request.

Show JSON schema
{
   "title": "DeleteVPCAssociationAuthorizationResponse",
   "description": "Empty response for the request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.DisassociateVPCFromHostedZoneResponse[source]

Bases: Boto3Model

A complex type that contains the response information for the disassociate request.

Show JSON schema
{
   "title": "DisassociateVPCFromHostedZoneResponse",
   "description": "A complex type that contains the response information for the disassociate request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "ChangeInfo": {
         "$ref": "#/$defs/ChangeInfo"
      }
   },
   "$defs": {
      "ChangeInfo": {
         "description": "A complex type that describes change information about changes made to your hosted\nzone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Status": {
               "enum": [
                  "PENDING",
                  "INSYNC"
               ],
               "title": "Status",
               "type": "string"
            },
            "SubmittedAt": {
               "format": "date-time",
               "title": "Submittedat",
               "type": "string"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            }
         },
         "required": [
            "Id",
            "Status",
            "SubmittedAt"
         ],
         "title": "ChangeInfo",
         "type": "object"
      }
   },
   "required": [
      "ChangeInfo"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field ChangeInfo: ChangeInfo [Required]

A complex type that describes the changes made to the specified private hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.GetHostedZoneCountResponse[source]

Bases: Boto3Model

A complex type that contains the response to a GetHostedZoneCount request.

Show JSON schema
{
   "title": "GetHostedZoneCountResponse",
   "description": "A complex type that contains the response to a ``GetHostedZoneCount`` request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZoneCount": {
         "title": "Hostedzonecount",
         "type": "integer"
      }
   },
   "required": [
      "HostedZoneCount"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field HostedZoneCount: int [Required]

The total number of public and private hosted zones that are associated with the current Amazon Web Services account.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.GetHostedZoneLimitResponse[source]

Bases: Boto3Model

A complex type that contains the requested limit.

Show JSON schema
{
   "title": "GetHostedZoneLimitResponse",
   "description": "A complex type that contains the requested limit.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Limit": {
         "$ref": "#/$defs/HostedZoneLimit"
      },
      "Count": {
         "title": "Count",
         "type": "integer"
      }
   },
   "$defs": {
      "HostedZoneLimit": {
         "description": "A complex type that contains the type of limit that you specified in the request and\nthe current value for that limit.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Type": {
               "enum": [
                  "MAX_RRSETS_BY_ZONE",
                  "MAX_VPCS_ASSOCIATED_BY_ZONE"
               ],
               "title": "Type",
               "type": "string"
            },
            "Value": {
               "title": "Value",
               "type": "integer"
            }
         },
         "required": [
            "Type",
            "Value"
         ],
         "title": "HostedZoneLimit",
         "type": "object"
      }
   },
   "required": [
      "Limit",
      "Count"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Count: int [Required]

The current number of entities that you have created of the specified type.

For example, if you specified MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Count is the current number of records that you have created in the specified hosted zone.

field Limit: HostedZoneLimit [Required]

The current setting for the specified limit.

For example, if you specified MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Limit is the maximum number of records that you can create in the specified hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.GetHostedZoneResponse[source]

Bases: Boto3Model

A complex type that contain the response to a GetHostedZone request.

Show JSON schema
{
   "title": "GetHostedZoneResponse",
   "description": "A complex type that contain the response to a ``GetHostedZone`` request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZone": {
         "$ref": "#/$defs/HostedZone"
      },
      "DelegationSet": {
         "anyOf": [
            {
               "$ref": "#/$defs/Route53DelegationSet"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "VPCs": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Route53VPC"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Vpcs"
      }
   },
   "$defs": {
      "HostedZone": {
         "description": "A complex type that contains general information about the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "CallerReference": {
               "title": "Callerreference",
               "type": "string"
            },
            "Config": {
               "$ref": "#/$defs/HostedZoneConfig",
               "default": null
            },
            "ResourceRecordSetCount": {
               "default": null,
               "title": "Resourcerecordsetcount",
               "type": "integer"
            },
            "LinkedService": {
               "$ref": "#/$defs/Route53LinkedService",
               "default": null
            },
            "Features": {
               "$ref": "#/$defs/HostedZoneFeatures",
               "default": null
            }
         },
         "required": [
            "Id",
            "Name",
            "CallerReference"
         ],
         "title": "HostedZone",
         "type": "object"
      },
      "HostedZoneConfig": {
         "description": "A complex type that contains an optional comment about your hosted zone.\n\nIf you don't want to specify a comment, omit\nboth the ``HostedZoneConfig`` and ``Comment`` elements.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            },
            "PrivateZone": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Privatezone"
            }
         },
         "title": "HostedZoneConfig",
         "type": "object"
      },
      "HostedZoneFailureReasons": {
         "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecovery": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecovery"
            }
         },
         "title": "HostedZoneFailureReasons",
         "type": "object"
      },
      "HostedZoneFeatures": {
         "description": "Represents the features configuration for a hosted zone, including the status of\nvarious features and any associated failure reasons.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecoveryStatus": {
               "anyOf": [
                  {
                     "enum": [
                        "ENABLING",
                        "ENABLE_FAILED",
                        "ENABLING_HOSTED_ZONE_LOCKED",
                        "ENABLED",
                        "DISABLING",
                        "DISABLE_FAILED",
                        "DISABLED",
                        "DISABLING_HOSTED_ZONE_LOCKED"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecoverystatus"
            },
            "FailureReasons": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HostedZoneFailureReasons"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "HostedZoneFeatures",
         "type": "object"
      },
      "Route53DelegationSet": {
         "description": "A complex type that lists the name servers in a delegation set, as well as the\n``CallerReference`` and the ``ID`` for the delegation set.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            },
            "CallerReference": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Callerreference"
            },
            "NameServers": {
               "items": {
                  "type": "string"
               },
               "title": "Nameservers",
               "type": "array"
            }
         },
         "required": [
            "NameServers"
         ],
         "title": "Route53DelegationSet",
         "type": "object"
      },
      "Route53LinkedService": {
         "description": "If a health check or hosted zone was created by another service, ``LinkedService``\nis a complex type that describes the service that created the resource.\n\nWhen a resource is created by another service, you can't edit or delete it using\nAmazon Route 53.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ServicePrincipal": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Serviceprincipal"
            },
            "Description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "title": "Route53LinkedService",
         "type": "object"
      },
      "Route53VPC": {
         "description": "(Private hosted zones only) A complex type that contains information about an Amazon\nVPC.\n\nIf you associate a private hosted zone with an Amazon VPC when you make a\n`CreateHostedZone <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html>`_\nrequest, the\nfollowing parameters are also required.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "VPCRegion": {
               "anyOf": [
                  {
                     "enum": [
                        "us-east-1",
                        "us-east-2",
                        "us-west-1",
                        "us-west-2",
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3",
                        "eu-central-1",
                        "eu-central-2",
                        "ap-east-1",
                        "me-south-1",
                        "us-gov-west-1",
                        "us-gov-east-1",
                        "us-iso-east-1",
                        "us-iso-west-1",
                        "us-isob-east-1",
                        "me-central-1",
                        "ap-southeast-1",
                        "ap-southeast-2",
                        "ap-southeast-3",
                        "ap-south-1",
                        "ap-south-2",
                        "ap-northeast-1",
                        "ap-northeast-2",
                        "ap-northeast-3",
                        "eu-north-1",
                        "sa-east-1",
                        "ca-central-1",
                        "cn-north-1",
                        "cn-northwest-1",
                        "af-south-1",
                        "eu-south-1",
                        "eu-south-2",
                        "ap-southeast-4",
                        "il-central-1",
                        "ca-west-1",
                        "ap-southeast-5",
                        "mx-central-1",
                        "us-isof-south-1",
                        "us-isof-east-1",
                        "ap-southeast-7",
                        "ap-east-2",
                        "eu-isoe-west-1",
                        "ap-southeast-6",
                        "us-isob-west-1",
                        "eusc-de-east-1"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcregion"
            },
            "VPCId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcid"
            }
         },
         "title": "Route53VPC",
         "type": "object"
      }
   },
   "required": [
      "HostedZone"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field DelegationSet: Route53DelegationSet | None = None

A complex type that lists the Amazon Route 53 name servers for the specified hosted zone.

field HostedZone: HostedZone [Required]

A complex type that contains general information about the specified hosted zone.

field VPCs: builtins.list[Route53VPC] | None [Optional]

A complex type that contains information about the VPCs that are associated with the specified hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.GetQueryLoggingConfigResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "GetQueryLoggingConfigResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "QueryLoggingConfig": {
         "$ref": "#/$defs/Route53QueryLoggingConfig"
      }
   },
   "$defs": {
      "Route53QueryLoggingConfig": {
         "description": "A complex type that contains information about a configuration for DNS query\nlogging.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "CloudWatchLogsLogGroupArn": {
               "title": "Cloudwatchlogsloggrouparn",
               "type": "string"
            }
         },
         "required": [
            "Id",
            "HostedZoneId",
            "CloudWatchLogsLogGroupArn"
         ],
         "title": "Route53QueryLoggingConfig",
         "type": "object"
      }
   },
   "required": [
      "QueryLoggingConfig"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field QueryLoggingConfig: Route53QueryLoggingConfig [Required]

A complex type that contains information about the query logging configuration that you specified in a GetQueryLoggingConfig request.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.HostedZoneLimit[source]

Bases: Boto3Model

A complex type that contains the type of limit that you specified in the request and the current value for that limit.

Show JSON schema
{
   "title": "HostedZoneLimit",
   "description": "A complex type that contains the type of limit that you specified in the request and\nthe current value for that limit.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Type": {
         "enum": [
            "MAX_RRSETS_BY_ZONE",
            "MAX_VPCS_ASSOCIATED_BY_ZONE"
         ],
         "title": "Type",
         "type": "string"
      },
      "Value": {
         "title": "Value",
         "type": "integer"
      }
   },
   "required": [
      "Type",
      "Value"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Type: Literal['MAX_RRSETS_BY_ZONE', 'MAX_VPCS_ASSOCIATED_BY_ZONE'] [Required]

The limit that you requested.

Valid values include the following:

field Value: int [Required]

The current value for the limit that is specified by Type.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.HostedZoneOwner[source]

Bases: Boto3Model

A complex type that identifies a hosted zone that a specified Amazon VPC is associated with and the owner of the hosted zone.

If there is a value for OwningAccount, there is no value for OwningService, and vice versa.

Show JSON schema
{
   "title": "HostedZoneOwner",
   "description": "A complex type that identifies a hosted zone that a specified Amazon VPC is\nassociated with and the owner of the hosted zone.\n\nIf there is a value for ``OwningAccount``, there is no value for ``OwningService``, and vice versa.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "OwningAccount": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Owningaccount"
      },
      "OwningService": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Owningservice"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field OwningAccount: str | None = None

If the hosted zone was created by an Amazon Web Services account, or was created by an Amazon Web Services service that creates hosted zones using the current account, OwningAccount contains the account ID of that account.

For example, when you use Cloud Map to create a hosted zone, Cloud Map creates the hosted zone using the current Amazon Web Services account.

field OwningService: str | None = None

If an Amazon Web Services service uses its own account to create a hosted zone and associate the specified VPC with that hosted zone, OwningService contains an abbreviation that identifies the service.

For example, if Amazon Elastic File System (Amazon EFS) created a hosted zone and associated a VPC with the hosted zone, the value of OwningService is efs.amazonaws.com.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.HostedZoneSummary[source]

Bases: Boto3Model

In the response to a ListHostedZonesByVPC request, the HostedZoneSummaries element contains one HostedZoneSummary element for each hosted zone that the specified Amazon VPC is associated with.

Each HostedZoneSummary element contains the hosted zone name and ID, and information about who owns the hosted zone.

Show JSON schema
{
   "title": "HostedZoneSummary",
   "description": "In the response to a ``ListHostedZonesByVPC`` request, the ``HostedZoneSummaries``\nelement contains one ``HostedZoneSummary`` element for each hosted zone that the\nspecified Amazon VPC is associated with.\n\nEach\n``HostedZoneSummary`` element contains the hosted zone name and ID, and information about who owns the hosted zone.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZoneId": {
         "title": "Hostedzoneid",
         "type": "string"
      },
      "Name": {
         "title": "Name",
         "type": "string"
      },
      "Owner": {
         "$ref": "#/$defs/HostedZoneOwner"
      }
   },
   "$defs": {
      "HostedZoneOwner": {
         "description": "A complex type that identifies a hosted zone that a specified Amazon VPC is\nassociated with and the owner of the hosted zone.\n\nIf there is a value for ``OwningAccount``, there is no value for ``OwningService``, and vice versa.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "OwningAccount": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owningaccount"
            },
            "OwningService": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owningservice"
            }
         },
         "title": "HostedZoneOwner",
         "type": "object"
      }
   },
   "required": [
      "HostedZoneId",
      "Name",
      "Owner"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field HostedZoneId: str [Required]

The Route 53 hosted zone ID of a private hosted zone that the specified VPC is associated with.

field Name: str [Required]

The name of the private hosted zone, such as example.com.

field Owner: HostedZoneOwner [Required]

The owner of a private hosted zone that the specified VPC is associated with.

The owner can be either an Amazon Web Services account or an Amazon Web Services service.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListCidrBlocksResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "ListCidrBlocksResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "NextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      },
      "CidrBlocks": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CidrBlockSummary"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Cidrblocks"
      }
   },
   "$defs": {
      "CidrBlockSummary": {
         "description": "A complex type that lists the CIDR blocks.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "CidrBlock": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Cidrblock"
            },
            "LocationName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Locationname"
            }
         },
         "title": "CidrBlockSummary",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field CidrBlocks: builtins.list[CidrBlockSummary] | None [Optional]

A complex type that contains information about the CIDR blocks.

field NextToken: str | None = None

An opaque pagination token to indicate where the service is to begin enumerating results.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListCidrCollectionsResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "ListCidrCollectionsResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "NextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      },
      "CidrCollections": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CollectionSummary"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Cidrcollections"
      }
   },
   "$defs": {
      "CollectionSummary": {
         "description": "A complex type that is an entry in an\n`CidrCollection <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CidrCollection.html>`_ array.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Arn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Arn"
            },
            "Id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            },
            "Name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "Version": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "title": "CollectionSummary",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field CidrCollections: builtins.list[CollectionSummary] | None [Optional]

A complex type with information about the CIDR collection.

field NextToken: str | None = None

An opaque pagination token to indicate where the service is to begin enumerating results.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListHostedZonesByNameResponse[source]

Bases: Boto3Model

A complex type that contains the response information for the request.

Show JSON schema
{
   "title": "ListHostedZonesByNameResponse",
   "description": "A complex type that contains the response information for the request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZones": {
         "items": {
            "$ref": "#/$defs/HostedZone"
         },
         "title": "Hostedzones",
         "type": "array"
      },
      "DNSName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Dnsname"
      },
      "HostedZoneId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Hostedzoneid"
      },
      "IsTruncated": {
         "title": "Istruncated",
         "type": "boolean"
      },
      "NextDNSName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nextdnsname"
      },
      "NextHostedZoneId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexthostedzoneid"
      },
      "MaxItems": {
         "title": "Maxitems",
         "type": "string"
      }
   },
   "$defs": {
      "HostedZone": {
         "description": "A complex type that contains general information about the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "CallerReference": {
               "title": "Callerreference",
               "type": "string"
            },
            "Config": {
               "$ref": "#/$defs/HostedZoneConfig",
               "default": null
            },
            "ResourceRecordSetCount": {
               "default": null,
               "title": "Resourcerecordsetcount",
               "type": "integer"
            },
            "LinkedService": {
               "$ref": "#/$defs/Route53LinkedService",
               "default": null
            },
            "Features": {
               "$ref": "#/$defs/HostedZoneFeatures",
               "default": null
            }
         },
         "required": [
            "Id",
            "Name",
            "CallerReference"
         ],
         "title": "HostedZone",
         "type": "object"
      },
      "HostedZoneConfig": {
         "description": "A complex type that contains an optional comment about your hosted zone.\n\nIf you don't want to specify a comment, omit\nboth the ``HostedZoneConfig`` and ``Comment`` elements.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            },
            "PrivateZone": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Privatezone"
            }
         },
         "title": "HostedZoneConfig",
         "type": "object"
      },
      "HostedZoneFailureReasons": {
         "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecovery": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecovery"
            }
         },
         "title": "HostedZoneFailureReasons",
         "type": "object"
      },
      "HostedZoneFeatures": {
         "description": "Represents the features configuration for a hosted zone, including the status of\nvarious features and any associated failure reasons.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecoveryStatus": {
               "anyOf": [
                  {
                     "enum": [
                        "ENABLING",
                        "ENABLE_FAILED",
                        "ENABLING_HOSTED_ZONE_LOCKED",
                        "ENABLED",
                        "DISABLING",
                        "DISABLE_FAILED",
                        "DISABLED",
                        "DISABLING_HOSTED_ZONE_LOCKED"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecoverystatus"
            },
            "FailureReasons": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HostedZoneFailureReasons"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "HostedZoneFeatures",
         "type": "object"
      },
      "Route53LinkedService": {
         "description": "If a health check or hosted zone was created by another service, ``LinkedService``\nis a complex type that describes the service that created the resource.\n\nWhen a resource is created by another service, you can't edit or delete it using\nAmazon Route 53.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ServicePrincipal": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Serviceprincipal"
            },
            "Description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "title": "Route53LinkedService",
         "type": "object"
      }
   },
   "required": [
      "HostedZones",
      "IsTruncated",
      "MaxItems"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field DNSName: str | None = None

For the second and subsequent calls to ListHostedZonesByName, DNSName is the value that you specified for the dnsname parameter in the request that produced the current response.

field HostedZoneId: str | None = None

The ID that Amazon Route 53 assigned to the hosted zone when you created it.

field HostedZones: builtins.list[HostedZone] [Required]

A complex type that contains general information about the hosted zone.

field IsTruncated: bool [Required]

A flag that indicates whether there are more hosted zones to be listed.

If the response was truncated, you can get the next group of maxitems hosted zones by calling ListHostedZonesByName again and specifying the values of NextDNSName and NextHostedZoneId elements in the dnsname and hostedzoneid parameters.

field MaxItems: str [Required]

The value that you specified for the maxitems parameter in the call to ListHostedZonesByName that produced the current response.

field NextDNSName: str | None = None

If IsTruncated is true, the value of NextDNSName is the name of the first hosted zone in the next group of maxitems hosted zones.

Call ListHostedZonesByName again and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

field NextHostedZoneId: str | None = None

If IsTruncated is true, the value of NextHostedZoneId identifies the first hosted zone in the next group of maxitems hosted zones.

Call ListHostedZonesByName again and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListHostedZonesByVPCResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "ListHostedZonesByVPCResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZoneSummaries": {
         "items": {
            "$ref": "#/$defs/HostedZoneSummary"
         },
         "title": "Hostedzonesummaries",
         "type": "array"
      },
      "MaxItems": {
         "title": "Maxitems",
         "type": "string"
      },
      "NextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      }
   },
   "$defs": {
      "HostedZoneOwner": {
         "description": "A complex type that identifies a hosted zone that a specified Amazon VPC is\nassociated with and the owner of the hosted zone.\n\nIf there is a value for ``OwningAccount``, there is no value for ``OwningService``, and vice versa.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "OwningAccount": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owningaccount"
            },
            "OwningService": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owningservice"
            }
         },
         "title": "HostedZoneOwner",
         "type": "object"
      },
      "HostedZoneSummary": {
         "description": "In the response to a ``ListHostedZonesByVPC`` request, the ``HostedZoneSummaries``\nelement contains one ``HostedZoneSummary`` element for each hosted zone that the\nspecified Amazon VPC is associated with.\n\nEach\n``HostedZoneSummary`` element contains the hosted zone name and ID, and information about who owns the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "Owner": {
               "$ref": "#/$defs/HostedZoneOwner"
            }
         },
         "required": [
            "HostedZoneId",
            "Name",
            "Owner"
         ],
         "title": "HostedZoneSummary",
         "type": "object"
      }
   },
   "required": [
      "HostedZoneSummaries",
      "MaxItems"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field HostedZoneSummaries: builtins.list[HostedZoneSummary] [Required]

A list that contains one HostedZoneSummary element for each hosted zone that the specified Amazon VPC is associated with.

Each HostedZoneSummary element contains the hosted zone name and ID, and information about who owns the hosted zone.

field MaxItems: str [Required]

The value that you specified for MaxItems in the most recent ListHostedZonesByVPC request.

field NextToken: str | None = None

The value that you will use for NextToken in the next ListHostedZonesByVPC request.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListHostedZonesResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "ListHostedZonesResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Marker": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Marker"
      },
      "HostedZones": {
         "items": {
            "$ref": "#/$defs/HostedZone"
         },
         "title": "Hostedzones",
         "type": "array"
      },
      "IsTruncated": {
         "title": "Istruncated",
         "type": "boolean"
      },
      "NextMarker": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nextmarker"
      },
      "MaxItems": {
         "title": "Maxitems",
         "type": "string"
      }
   },
   "$defs": {
      "HostedZone": {
         "description": "A complex type that contains general information about the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "CallerReference": {
               "title": "Callerreference",
               "type": "string"
            },
            "Config": {
               "$ref": "#/$defs/HostedZoneConfig",
               "default": null
            },
            "ResourceRecordSetCount": {
               "default": null,
               "title": "Resourcerecordsetcount",
               "type": "integer"
            },
            "LinkedService": {
               "$ref": "#/$defs/Route53LinkedService",
               "default": null
            },
            "Features": {
               "$ref": "#/$defs/HostedZoneFeatures",
               "default": null
            }
         },
         "required": [
            "Id",
            "Name",
            "CallerReference"
         ],
         "title": "HostedZone",
         "type": "object"
      },
      "HostedZoneConfig": {
         "description": "A complex type that contains an optional comment about your hosted zone.\n\nIf you don't want to specify a comment, omit\nboth the ``HostedZoneConfig`` and ``Comment`` elements.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            },
            "PrivateZone": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Privatezone"
            }
         },
         "title": "HostedZoneConfig",
         "type": "object"
      },
      "HostedZoneFailureReasons": {
         "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecovery": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecovery"
            }
         },
         "title": "HostedZoneFailureReasons",
         "type": "object"
      },
      "HostedZoneFeatures": {
         "description": "Represents the features configuration for a hosted zone, including the status of\nvarious features and any associated failure reasons.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecoveryStatus": {
               "anyOf": [
                  {
                     "enum": [
                        "ENABLING",
                        "ENABLE_FAILED",
                        "ENABLING_HOSTED_ZONE_LOCKED",
                        "ENABLED",
                        "DISABLING",
                        "DISABLE_FAILED",
                        "DISABLED",
                        "DISABLING_HOSTED_ZONE_LOCKED"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecoverystatus"
            },
            "FailureReasons": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HostedZoneFailureReasons"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "HostedZoneFeatures",
         "type": "object"
      },
      "Route53LinkedService": {
         "description": "If a health check or hosted zone was created by another service, ``LinkedService``\nis a complex type that describes the service that created the resource.\n\nWhen a resource is created by another service, you can't edit or delete it using\nAmazon Route 53.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ServicePrincipal": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Serviceprincipal"
            },
            "Description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "title": "Route53LinkedService",
         "type": "object"
      }
   },
   "required": [
      "HostedZones",
      "IsTruncated",
      "MaxItems"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field HostedZones: builtins.list[HostedZone] [Required]

A complex type that contains general information about the hosted zone.

field IsTruncated: bool [Required]

A flag indicating whether there are more hosted zones to be listed.

If the response was truncated, you can get more hosted zones by submitting another ListHostedZones request and specifying the value of NextMarker in the marker parameter.

field Marker: str | None = None

For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the marker parameter in the request that produced the current response.

field MaxItems: str [Required]

The value that you specified for the maxitems parameter in the call to ListHostedZones that produced the current response.

field NextMarker: str | None = None

If IsTruncated is true, the value of NextMarker identifies the first hosted zone in the next group of hosted zones.

Submit another ListHostedZones request, and specify the value of NextMarker from the response in the marker parameter.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListQueryLoggingConfigsResponse[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "ListQueryLoggingConfigsResponse",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "QueryLoggingConfigs": {
         "items": {
            "$ref": "#/$defs/Route53QueryLoggingConfig"
         },
         "title": "Queryloggingconfigs",
         "type": "array"
      },
      "NextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      }
   },
   "$defs": {
      "Route53QueryLoggingConfig": {
         "description": "A complex type that contains information about a configuration for DNS query\nlogging.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "CloudWatchLogsLogGroupArn": {
               "title": "Cloudwatchlogsloggrouparn",
               "type": "string"
            }
         },
         "required": [
            "Id",
            "HostedZoneId",
            "CloudWatchLogsLogGroupArn"
         ],
         "title": "Route53QueryLoggingConfig",
         "type": "object"
      }
   },
   "required": [
      "QueryLoggingConfigs"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field NextToken: str | None = None

If a response includes the last of the query logging configurations that are associated with the current Amazon Web Services account, NextToken doesn’t appear in the response.

field QueryLoggingConfigs: builtins.list[Route53QueryLoggingConfig] [Required]

An array that contains one QueryLoggingConfig element for each configuration for DNS query logging that is associated with the current Amazon Web Services account.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListResourceRecordSetsResponse[source]

Bases: Boto3Model

A complex type that contains list information for the resource record set.

Show JSON schema
{
   "title": "ListResourceRecordSetsResponse",
   "description": "A complex type that contains list information for the resource record set.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "ResourceRecordSets": {
         "items": {
            "$ref": "#/$defs/Route53ResourceRecordSet"
         },
         "title": "Resourcerecordsets",
         "type": "array"
      },
      "IsTruncated": {
         "title": "Istruncated",
         "type": "boolean"
      },
      "NextRecordName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nextrecordname"
      },
      "NextRecordType": {
         "anyOf": [
            {
               "enum": [
                  "SOA",
                  "A",
                  "TXT",
                  "NS",
                  "CNAME",
                  "MX",
                  "NAPTR",
                  "PTR",
                  "SRV",
                  "SPF",
                  "AAAA",
                  "CAA",
                  "DS",
                  "TLSA",
                  "SSHFP",
                  "SVCB",
                  "HTTPS"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nextrecordtype"
      },
      "NextRecordIdentifier": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nextrecordidentifier"
      },
      "MaxItems": {
         "title": "Maxitems",
         "type": "string"
      }
   },
   "$defs": {
      "ResourceRecord": {
         "description": "Information specific to the resource record.\n\nIf you're creating an alias resource record set, omit ``ResourceRecord``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "Value"
         ],
         "title": "ResourceRecord",
         "type": "object"
      },
      "Route53AliasTarget": {
         "description": "*Alias resource record sets only:* Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to\nroute traffic to.\n\nWhen creating resource record sets for a private hosted zone, note the following:\n\n* For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a\n  Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "HostedZoneId": {
               "title": "Hostedzoneid",
               "type": "string"
            },
            "DNSName": {
               "title": "Dnsname",
               "type": "string"
            },
            "EvaluateTargetHealth": {
               "title": "Evaluatetargethealth",
               "type": "boolean"
            }
         },
         "required": [
            "HostedZoneId",
            "DNSName",
            "EvaluateTargetHealth"
         ],
         "title": "Route53AliasTarget",
         "type": "object"
      },
      "Route53CidrRoutingConfig": {
         "description": "The object that is specified in resource record set object when you are linking a\nresource record set to a CIDR location.\n\nA ``LocationName`` with an asterisk \u201c*\u201d can be used to create a default CIDR record. ``CollectionId`` is still required\nfor default record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "CollectionId": {
               "title": "Collectionid",
               "type": "string"
            },
            "LocationName": {
               "title": "Locationname",
               "type": "string"
            }
         },
         "required": [
            "CollectionId",
            "LocationName"
         ],
         "title": "Route53CidrRoutingConfig",
         "type": "object"
      },
      "Route53Coordinates": {
         "description": "A complex type that lists the coordinates for a geoproximity resource record.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Latitude": {
               "title": "Latitude",
               "type": "string"
            },
            "Longitude": {
               "title": "Longitude",
               "type": "string"
            }
         },
         "required": [
            "Latitude",
            "Longitude"
         ],
         "title": "Route53Coordinates",
         "type": "object"
      },
      "Route53GeoLocation": {
         "description": "A complex type that contains information about a geographic location.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ContinentCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Continentcode"
            },
            "CountryCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Countrycode"
            },
            "SubdivisionCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Subdivisioncode"
            }
         },
         "title": "Route53GeoLocation",
         "type": "object"
      },
      "Route53GeoProximityLocation": {
         "description": "(Resource record sets only): A complex type that lets you specify where your\nresources are located. Only one of ``LocalZoneGroup``, ``Coordinates``, or ``Amazon\nWeb ServicesRegion`` is allowed per request at a time.\n\nFor more information about geoproximity routing, see\n`Geoproximity routing <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html>`_\nin the *Amazon\nRoute\u00a053 Developer Guide*.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AWSRegion": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Awsregion"
            },
            "LocalZoneGroup": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Localzonegroup"
            },
            "Coordinates": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Route53Coordinates"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Bias": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Bias"
            }
         },
         "title": "Route53GeoProximityLocation",
         "type": "object"
      },
      "Route53ResourceRecordSet": {
         "description": "Information about the resource record set to create or delete.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "Type": {
               "enum": [
                  "SOA",
                  "A",
                  "TXT",
                  "NS",
                  "CNAME",
                  "MX",
                  "NAPTR",
                  "PTR",
                  "SRV",
                  "SPF",
                  "AAAA",
                  "CAA",
                  "DS",
                  "TLSA",
                  "SSHFP",
                  "SVCB",
                  "HTTPS"
               ],
               "title": "Type",
               "type": "string"
            },
            "SetIdentifier": {
               "default": null,
               "title": "Setidentifier",
               "type": "string"
            },
            "Weight": {
               "default": null,
               "title": "Weight",
               "type": "integer"
            },
            "Region": {
               "default": null,
               "enum": [
                  "us-east-1",
                  "us-east-2",
                  "us-west-1",
                  "us-west-2",
                  "ca-central-1",
                  "eu-west-1",
                  "eu-west-2",
                  "eu-west-3",
                  "eu-central-1",
                  "eu-central-2",
                  "ap-southeast-1",
                  "ap-southeast-2",
                  "ap-southeast-3",
                  "ap-northeast-1",
                  "ap-northeast-2",
                  "ap-northeast-3",
                  "eu-north-1",
                  "sa-east-1",
                  "cn-north-1",
                  "cn-northwest-1",
                  "ap-east-1",
                  "me-south-1",
                  "me-central-1",
                  "ap-south-1",
                  "ap-south-2",
                  "af-south-1",
                  "eu-south-1",
                  "eu-south-2",
                  "ap-southeast-4",
                  "il-central-1",
                  "ca-west-1",
                  "ap-southeast-5",
                  "mx-central-1",
                  "ap-southeast-7",
                  "us-gov-east-1",
                  "us-gov-west-1",
                  "ap-east-2",
                  "ap-southeast-6",
                  "eusc-de-east-1"
               ],
               "title": "Region",
               "type": "string"
            },
            "GeoLocation": {
               "$ref": "#/$defs/Route53GeoLocation",
               "default": null
            },
            "Failover": {
               "default": null,
               "enum": [
                  "PRIMARY",
                  "SECONDARY"
               ],
               "title": "Failover",
               "type": "string"
            },
            "MultiValueAnswer": {
               "default": null,
               "title": "Multivalueanswer",
               "type": "boolean"
            },
            "TTL": {
               "default": null,
               "title": "Ttl",
               "type": "integer"
            },
            "ResourceRecords": {
               "items": {
                  "$ref": "#/$defs/ResourceRecord"
               },
               "title": "Resourcerecords",
               "type": "array"
            },
            "AliasTarget": {
               "$ref": "#/$defs/Route53AliasTarget",
               "default": null
            },
            "HealthCheckId": {
               "default": null,
               "title": "Healthcheckid",
               "type": "string"
            },
            "TrafficPolicyInstanceId": {
               "default": null,
               "title": "Trafficpolicyinstanceid",
               "type": "string"
            },
            "CidrRoutingConfig": {
               "$ref": "#/$defs/Route53CidrRoutingConfig",
               "default": null
            },
            "GeoProximityLocation": {
               "$ref": "#/$defs/Route53GeoProximityLocation",
               "default": null
            }
         },
         "required": [
            "Name",
            "Type"
         ],
         "title": "Route53ResourceRecordSet",
         "type": "object"
      }
   },
   "required": [
      "ResourceRecordSets",
      "IsTruncated",
      "MaxItems"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field IsTruncated: bool [Required]

A flag that indicates whether more resource record sets remain to be listed.

If your results were truncated, you can make a follow-up pagination request by using the NextRecordName element.

field MaxItems: str [Required]

The maximum number of records you requested.

field NextRecordIdentifier: str | None = None

Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, the value of SetIdentifier for the next resource record set that has the current DNS name and type.

field NextRecordName: str | None = None

If the results were truncated, the name of the next record in the list.

field NextRecordType: Literal['SOA', 'A', 'TXT', 'NS', 'CNAME', 'MX', 'NAPTR', 'PTR', 'SRV', 'SPF', 'AAAA', 'CAA', 'DS', 'TLSA', 'SSHFP', 'SVCB', 'HTTPS'] | None = None

If the results were truncated, the type of the next record in the list.

field ResourceRecordSets: builtins.list[Route53ResourceRecordSet] [Required]

Information about multiple resource record sets.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.ListVPCAssociationAuthorizationsResponse[source]

Bases: Boto3Model

A complex type that contains the response information for the request.

Show JSON schema
{
   "title": "ListVPCAssociationAuthorizationsResponse",
   "description": "A complex type that contains the response information for the request.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZoneId": {
         "title": "Hostedzoneid",
         "type": "string"
      },
      "NextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      },
      "VPCs": {
         "items": {
            "$ref": "#/$defs/Route53VPC"
         },
         "title": "Vpcs",
         "type": "array"
      }
   },
   "$defs": {
      "Route53VPC": {
         "description": "(Private hosted zones only) A complex type that contains information about an Amazon\nVPC.\n\nIf you associate a private hosted zone with an Amazon VPC when you make a\n`CreateHostedZone <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html>`_\nrequest, the\nfollowing parameters are also required.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "VPCRegion": {
               "anyOf": [
                  {
                     "enum": [
                        "us-east-1",
                        "us-east-2",
                        "us-west-1",
                        "us-west-2",
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3",
                        "eu-central-1",
                        "eu-central-2",
                        "ap-east-1",
                        "me-south-1",
                        "us-gov-west-1",
                        "us-gov-east-1",
                        "us-iso-east-1",
                        "us-iso-west-1",
                        "us-isob-east-1",
                        "me-central-1",
                        "ap-southeast-1",
                        "ap-southeast-2",
                        "ap-southeast-3",
                        "ap-south-1",
                        "ap-south-2",
                        "ap-northeast-1",
                        "ap-northeast-2",
                        "ap-northeast-3",
                        "eu-north-1",
                        "sa-east-1",
                        "ca-central-1",
                        "cn-north-1",
                        "cn-northwest-1",
                        "af-south-1",
                        "eu-south-1",
                        "eu-south-2",
                        "ap-southeast-4",
                        "il-central-1",
                        "ca-west-1",
                        "ap-southeast-5",
                        "mx-central-1",
                        "us-isof-south-1",
                        "us-isof-east-1",
                        "ap-southeast-7",
                        "ap-east-2",
                        "eu-isoe-west-1",
                        "ap-southeast-6",
                        "us-isob-west-1",
                        "eusc-de-east-1"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcregion"
            },
            "VPCId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Vpcid"
            }
         },
         "title": "Route53VPC",
         "type": "object"
      }
   },
   "required": [
      "HostedZoneId",
      "VPCs"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field HostedZoneId: str [Required]

The ID of the hosted zone that you can associate the listed VPCs with.

field NextToken: str | None = None

When the response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone.

To get the next page of VPCs, submit another ListVPCAssociationAuthorizations request, and include the value of the NextToken element from the response in the nexttoken request parameter.

field VPCs: builtins.list[Route53VPC] [Required]

The list of VPCs that are authorized to be associated with the specified hosted zone.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.Route53DelegationSet[source]

Bases: Boto3Model

A complex type that lists the name servers in a delegation set, as well as the CallerReference and the ID for the delegation set.

Show JSON schema
{
   "title": "Route53DelegationSet",
   "description": "A complex type that lists the name servers in a delegation set, as well as the\n``CallerReference`` and the ``ID`` for the delegation set.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "Id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Id"
      },
      "CallerReference": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Callerreference"
      },
      "NameServers": {
         "items": {
            "type": "string"
         },
         "title": "Nameservers",
         "type": "array"
      }
   },
   "required": [
      "NameServers"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field CallerReference: str | None = None

The value that you specified for CallerReference when you created the reusable delegation set.

field Id: str | None = None

The ID that Amazon Route 53 assigns to a reusable delegation set.

field NameServers: builtins.list[str] [Required]

A complex type that contains a list of the authoritative name servers for a hosted zone or for a reusable delegation set.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.

pydantic model botocraft.services.route53.UpdateHostedZoneCommentResponse[source]

Bases: Boto3Model

A complex type that contains the response to the UpdateHostedZoneComment request.

Show JSON schema
{
   "title": "UpdateHostedZoneCommentResponse",
   "description": "A complex type that contains the response to the ``UpdateHostedZoneComment``\nrequest.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "HostedZone": {
         "$ref": "#/$defs/HostedZone"
      }
   },
   "$defs": {
      "HostedZone": {
         "description": "A complex type that contains general information about the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Id": {
               "title": "Id",
               "type": "string"
            },
            "Name": {
               "title": "Name",
               "type": "string"
            },
            "CallerReference": {
               "title": "Callerreference",
               "type": "string"
            },
            "Config": {
               "$ref": "#/$defs/HostedZoneConfig",
               "default": null
            },
            "ResourceRecordSetCount": {
               "default": null,
               "title": "Resourcerecordsetcount",
               "type": "integer"
            },
            "LinkedService": {
               "$ref": "#/$defs/Route53LinkedService",
               "default": null
            },
            "Features": {
               "$ref": "#/$defs/HostedZoneFeatures",
               "default": null
            }
         },
         "required": [
            "Id",
            "Name",
            "CallerReference"
         ],
         "title": "HostedZone",
         "type": "object"
      },
      "HostedZoneConfig": {
         "description": "A complex type that contains an optional comment about your hosted zone.\n\nIf you don't want to specify a comment, omit\nboth the ``HostedZoneConfig`` and ``Comment`` elements.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            },
            "PrivateZone": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Privatezone"
            }
         },
         "title": "HostedZoneConfig",
         "type": "object"
      },
      "HostedZoneFailureReasons": {
         "description": "Contains information about why certain features failed to be enabled or configured\nfor the hosted zone.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecovery": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecovery"
            }
         },
         "title": "HostedZoneFailureReasons",
         "type": "object"
      },
      "HostedZoneFeatures": {
         "description": "Represents the features configuration for a hosted zone, including the status of\nvarious features and any associated failure reasons.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "AcceleratedRecoveryStatus": {
               "anyOf": [
                  {
                     "enum": [
                        "ENABLING",
                        "ENABLE_FAILED",
                        "ENABLING_HOSTED_ZONE_LOCKED",
                        "ENABLED",
                        "DISABLING",
                        "DISABLE_FAILED",
                        "DISABLED",
                        "DISABLING_HOSTED_ZONE_LOCKED"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Acceleratedrecoverystatus"
            },
            "FailureReasons": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HostedZoneFailureReasons"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "HostedZoneFeatures",
         "type": "object"
      },
      "Route53LinkedService": {
         "description": "If a health check or hosted zone was created by another service, ``LinkedService``\nis a complex type that describes the service that created the resource.\n\nWhen a resource is created by another service, you can't edit or delete it using\nAmazon Route 53.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "ServicePrincipal": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Serviceprincipal"
            },
            "Description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "title": "Route53LinkedService",
         "type": "object"
      }
   },
   "required": [
      "HostedZone"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field HostedZone: HostedZone [Required]

A complex type that contains the response to the UpdateHostedZoneComment request.

field session: Any | None = None

The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use Any here because we pydantic complains vociferously if we use boto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.

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.

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.

set_session(session: Session) None

Set the boto3 session for this model.

Parameters:

session – The boto3 session to use.

Returns:

The model instance.

transform(attribute: str, transformer: str | None) Any

Transform an attribute using a regular expression into something else before it is returned.

Important

This only makes sense for attributes that are strings.

transformer is a regular expression that will be used to transform the value of the attribute.

  • If the attribute is None, it will be returned verbatim.

  • If transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has named groups, the attribute will be replaced with a dictionary of the named groups.

Raises:
  • ValueError – If the attribute does not exist on the model.

  • RuntimeError – If the transformer fails to match the attribute value.

Parameters:
  • attribute – The attribute to transform.

  • transformer – The regular expression to use to transform the attribute.

Returns:

The transformed attribute.