CodePipeline (codepipeline)

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.codepipeline.ActionType[source]

Bases: PrimaryBoto3Model

Returns information about the details of an action type.

Show JSON schema
{
   "title": "ActionType",
   "description": "Returns information about the details of an action type.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "id": {
         "$ref": "#/$defs/ActionTypeId"
      },
      "settings": {
         "anyOf": [
            {
               "$ref": "#/$defs/ActionTypeSettings"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "actionConfigurationProperties": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ActionConfigurationProperty"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Actionconfigurationproperties"
      },
      "inputArtifactDetails": {
         "$ref": "#/$defs/ArtifactDetails"
      },
      "outputArtifactDetails": {
         "$ref": "#/$defs/ArtifactDetails"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "executor": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executor"
      },
      "permissions": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Permissions"
      },
      "properties": {
         "anyOf": [
            {
               "items": {
                  "additionalProperties": true,
                  "type": "object"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Properties"
      },
      "urls": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Urls"
      }
   },
   "$defs": {
      "ActionConfigurationProperty": {
         "description": "Represents information about an action configuration property.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "required": {
               "title": "Required",
               "type": "boolean"
            },
            "key": {
               "title": "Key",
               "type": "boolean"
            },
            "secret": {
               "title": "Secret",
               "type": "boolean"
            },
            "queryable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Queryable"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "String",
                        "Number",
                        "Boolean"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "required",
            "key",
            "secret"
         ],
         "title": "ActionConfigurationProperty",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "ActionTypeSettings": {
         "description": "Returns information about the settings for an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "thirdPartyConfigurationUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Thirdpartyconfigurationurl"
            },
            "entityUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Entityurltemplate"
            },
            "executionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionurltemplate"
            },
            "revisionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurltemplate"
            }
         },
         "title": "ActionTypeSettings",
         "type": "object"
      },
      "ArtifactDetails": {
         "description": "Returns information about the details of an artifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "minimumCount": {
               "title": "Minimumcount",
               "type": "integer"
            },
            "maximumCount": {
               "title": "Maximumcount",
               "type": "integer"
            }
         },
         "required": [
            "minimumCount",
            "maximumCount"
         ],
         "title": "ArtifactDetails",
         "type": "object"
      }
   },
   "required": [
      "id",
      "inputArtifactDetails",
      "outputArtifactDetails"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field actionConfigurationProperties: builtins.list[ActionConfigurationProperty] | None [Optional]

The configuration properties for the action type.

field description: str | None = None

The description returned by detail APIs.

field executor: dict[str, Any] | None = None

The executor configuration returned by detail APIs.

field id: ActionTypeId [Required]

Represents information about an action type.

field inputArtifactDetails: ArtifactDetails [Required]

The details of the input artifact for the action, such as its commit ID.

field outputArtifactDetails: ArtifactDetails [Required]

The details of the output artifact of the action, such as its commit ID.

field permissions: dict[str, Any] | None = None

The permissions returned by detail APIs.

field properties: list[dict[str, Any]] | None [Optional]

The action-type properties returned by detail APIs.

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.

field settings: ActionTypeSettings | None = None

The settings for the action type.

field urls: dict[str, Any] | None = None

The URLs returned by detail APIs.

manager_class

alias of ActionTypeManager

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]

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

property pk: OrderedDict[str, Any]

The identity accepted by custom-action delete operations.

pydantic model botocraft.services.codepipeline.Pipeline[source]

Bases: PrimaryBoto3Model

Represents the structure of actions and stages to be performed in the pipeline.

Show JSON schema
{
   "title": "Pipeline",
   "description": "Represents the structure of actions and stages to be performed in the pipeline.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "default": null,
         "title": "Name",
         "type": "string"
      },
      "roleArn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Rolearn"
      },
      "stages": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/StageDeclaration"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Stages"
      },
      "artifactStore": {
         "anyOf": [
            {
               "$ref": "#/$defs/ArtifactStore"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "artifactStores": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/ArtifactStore"
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "title": "Artifactstores"
      },
      "version": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Version"
      },
      "executionMode": {
         "anyOf": [
            {
               "enum": [
                  "QUEUED",
                  "SUPERSEDED",
                  "PARALLEL"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executionmode"
      },
      "pipelineType": {
         "anyOf": [
            {
               "enum": [
                  "V1",
                  "V2"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelinetype"
      },
      "variables": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/PipelineVariableDeclaration"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Variables"
      },
      "triggers": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/PipelineTriggerDeclaration"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Triggers"
      },
      "pipelineArn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelinearn"
      }
   },
   "$defs": {
      "ActionDeclaration": {
         "description": "Represents information about an action declaration.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "actionTypeId": {
               "$ref": "#/$defs/ActionTypeId"
            },
            "runOrder": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Runorder"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "outputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OutputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputartifacts"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "outputVariables": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputvariables"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "namespace": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Namespace"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            },
            "environmentVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/EnvironmentVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Environmentvariables"
            }
         },
         "required": [
            "name",
            "actionTypeId"
         ],
         "title": "ActionDeclaration",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "ArtifactStore": {
         "description": "The S3 bucket where artifacts for the pipeline are stored.\n\nYou must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create\na cross-region action in your pipeline, you must use ``artifactStores``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "type": {
               "const": "S3",
               "title": "Type",
               "type": "string"
            },
            "location": {
               "title": "Location",
               "type": "string"
            },
            "encryptionKey": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/EncryptionKey"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "type",
            "location"
         ],
         "title": "ArtifactStore",
         "type": "object"
      },
      "BeforeEntryConditions": {
         "description": "The conditions for making checks for entry to a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "BeforeEntryConditions",
         "type": "object"
      },
      "BlockerDeclaration": {
         "description": "Reserved for future use.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "const": "Schedule",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "name",
            "type"
         ],
         "title": "BlockerDeclaration",
         "type": "object"
      },
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "EncryptionKey": {
         "description": "Represents information about the key used to encrypt data in the artifact store,\nsuch as an Amazon Web Services Key Management Service (Key Management Service) key.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "const": "KMS",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "id",
            "type"
         ],
         "title": "EncryptionKey",
         "type": "object"
      },
      "EnvironmentVariable": {
         "description": "Information about an environment variable for a build project or a build.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "PLAINTEXT",
                        "PARAMETER_STORE",
                        "SECRETS_MANAGER"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "value"
         ],
         "title": "EnvironmentVariable",
         "type": "object"
      },
      "FailureConditions": {
         "description": "The configuration that specifies the result, such as rollback, to occur upon stage\nfailure.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-\nconditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "retryConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RetryConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "conditions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Condition"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Conditions"
            }
         },
         "title": "FailureConditions",
         "type": "object"
      },
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitConfiguration": {
         "description": "A type of trigger configuration for Git-based source actions.\n\nYou can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by\nthe ``CodeStarSourceConnection`` action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "sourceActionName": {
               "title": "Sourceactionname",
               "type": "string"
            },
            "push": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPushFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Push"
            },
            "pullRequest": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPullRequestFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pullrequest"
            }
         },
         "required": [
            "sourceActionName"
         ],
         "title": "GitConfiguration",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      },
      "GitPullRequestFilter": {
         "description": "The event criteria for the pull request trigger configuration, such as the lists of\nbranches or file paths to include and exclude.\n\nThe following are valid values for the events for this filter:\n\n* CLOSED\n* OPEN\n* UPDATED",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "events": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "OPEN",
                           "UPDATED",
                           "CLOSED"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Events"
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPullRequestFilter",
         "type": "object"
      },
      "GitPushFilter": {
         "description": "The event criteria that specify when a specified repository event will start the\npipeline for the specified trigger configuration, such as the lists of Git tags to\ninclude and exclude.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "tags": {
               "$ref": "#/$defs/GitTagFilterCriteria",
               "default": null
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPushFilter",
         "type": "object"
      },
      "GitTagFilterCriteria": {
         "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitTagFilterCriteria",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "OutputArtifact": {
         "description": "Represents information about the output of an action.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "files": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Files"
            }
         },
         "required": [
            "name"
         ],
         "title": "OutputArtifact",
         "type": "object"
      },
      "PipelineTriggerDeclaration": {
         "description": "Represents information about the specified trigger configuration, such as the filter\ncriteria and the source stage for the action that contains the trigger.\n\nThis is only supported for the ``CodeStarSourceConnection`` action type.\n\n\n\nWhen a trigger configuration is specified, default change detection for repository and branch commits is disabled.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "providerType": {
               "const": "CodeStarSourceConnection",
               "title": "Providertype",
               "type": "string"
            },
            "gitConfiguration": {
               "$ref": "#/$defs/GitConfiguration"
            }
         },
         "required": [
            "providerType",
            "gitConfiguration"
         ],
         "title": "PipelineTriggerDeclaration",
         "type": "object"
      },
      "PipelineVariableDeclaration": {
         "description": "A variable declared at the pipeline level.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "defaultValue": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Defaultvalue"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "required": [
            "name"
         ],
         "title": "PipelineVariableDeclaration",
         "type": "object"
      },
      "RetryConfiguration": {
         "description": "The retry configuration specifies automatic retry for a failed stage, along with the\nconfigured retry mode.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "retryMode": {
               "anyOf": [
                  {
                     "enum": [
                        "FAILED_ACTIONS",
                        "ALL_ACTIONS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Retrymode"
            }
         },
         "title": "RetryConfiguration",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      },
      "StageDeclaration": {
         "description": "Represents information about a stage and its definition.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "blockers": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/BlockerDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Blockers"
            },
            "actions": {
               "items": {
                  "$ref": "#/$defs/ActionDeclaration"
               },
               "title": "Actions",
               "type": "array"
            },
            "onFailure": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FailureConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "onSuccess": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SuccessConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "beforeEntry": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BeforeEntryConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "name",
            "actions"
         ],
         "title": "StageDeclaration",
         "type": "object"
      },
      "SuccessConditions": {
         "description": "The conditions for making checks that, if met, succeed a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "SuccessConditions",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field artifactStore: ArtifactStore | None = None

Represents information about the S3 bucket where artifacts are stored for the pipeline.

field artifactStores: dict[str, ArtifactStore] | None [Optional]

A mapping of artifactStore objects and their corresponding Amazon Web Services Regions.

There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.

field executionMode: Literal['QUEUED', 'SUPERSEDED', 'PARALLEL'] | None = None

The method that the pipeline will use to handle multiple executions.

The default mode is SUPERSEDED.

field pipelineArn: str | None = None

The ARN of the pipeline when returned by detail APIs.

field pipelineName: str = None (alias 'name')

The name of the pipeline.

field pipelineType: Literal['V1', 'V2'] | None = None

CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.

field roleArn: str | None = None

The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

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.

field stages: builtins.list[StageDeclaration] | None [Optional]

The stage in which to perform the action.

field triggers: builtins.list[PipelineTriggerDeclaration] | None [Optional]

The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.

field variables: builtins.list[PipelineVariableDeclaration] | None [Optional]

A list that defines the pipeline variables for a pipeline resource.

Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@-_]+.

field version: int | None = None

The version number of the pipeline.

A new pipeline always has a version number of 1. This number is incremented when a pipeline is updated.

manager_class

alias of PipelineManager

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.

start_execution(variables: list[botocraft.services.codepipeline.PipelineVariable] | None = None, clientRequestToken: str | None = None, sourceRevisions: list[botocraft.services.codepipeline.SourceRevisionOverride] | None = None) str[source]

Start a new execution for this pipeline.

Keyword Arguments:
  • variables – A list that overrides pipeline variables for a pipeline execution that’s being started. Variable names must match [A-Za-z0-9@-_]+, and the values can be anything except an empty string.

  • clientRequestToken – The system-generated unique ID used to identify a unique execution request.

  • sourceRevisions – A list that allows you to specify, or override, the source revision for a pipeline execution that’s being started. A source revision is the version with all the changes to your application code, or source artifact, for the pipeline execution.

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 pipelineName attribute.

Returns:

The name of the model instance.

objects: ClassVar[classproperty]

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 pipelineName attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.codepipeline.PipelineExecution[source]

Bases: ReadonlyPrimaryBoto3Model

Represents information about an execution of a pipeline.

Show JSON schema
{
   "title": "PipelineExecution",
   "description": "Represents information about an execution of a pipeline.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelineName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelinename"
      },
      "pipelineVersion": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelineversion"
      },
      "pipelineExecutionId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelineexecutionid"
      },
      "status": {
         "anyOf": [
            {
               "enum": [
                  "Cancelled",
                  "InProgress",
                  "Stopped",
                  "Stopping",
                  "Succeeded",
                  "Superseded",
                  "Failed"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Status"
      },
      "statusSummary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Statussummary"
      },
      "artifactRevisions": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ArtifactRevision"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Artifactrevisions"
      },
      "variables": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ResolvedPipelineVariable"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Variables"
      },
      "trigger": {
         "anyOf": [
            {
               "$ref": "#/$defs/ExecutionTrigger"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "executionMode": {
         "anyOf": [
            {
               "enum": [
                  "QUEUED",
                  "SUPERSEDED",
                  "PARALLEL"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executionmode"
      },
      "executionType": {
         "anyOf": [
            {
               "enum": [
                  "STANDARD",
                  "ROLLBACK"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executiontype"
      },
      "rollbackMetadata": {
         "anyOf": [
            {
               "$ref": "#/$defs/PipelineRollbackMetadata"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ArtifactRevision": {
         "description": "Represents revision details of an artifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "revisionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionid"
            },
            "revisionChangeIdentifier": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionchangeidentifier"
            },
            "revisionSummary": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionsummary"
            },
            "created": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Created"
            },
            "revisionUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurl"
            }
         },
         "title": "ArtifactRevision",
         "type": "object"
      },
      "ExecutionTrigger": {
         "description": "The interaction or event that started a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "triggerType": {
               "anyOf": [
                  {
                     "enum": [
                        "CreatePipeline",
                        "StartPipelineExecution",
                        "PollForSourceChanges",
                        "Webhook",
                        "CloudWatchEvent",
                        "PutActionRevision",
                        "WebhookV2",
                        "ManualRollback",
                        "AutomatedRollback"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggertype"
            },
            "triggerDetail": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggerdetail"
            }
         },
         "title": "ExecutionTrigger",
         "type": "object"
      },
      "PipelineRollbackMetadata": {
         "description": "The metadata for the stage execution to be rolled back.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "rollbackTargetPipelineExecutionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rollbacktargetpipelineexecutionid"
            }
         },
         "title": "PipelineRollbackMetadata",
         "type": "object"
      },
      "ResolvedPipelineVariable": {
         "description": "A pipeline-level variable used for a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "resolvedValue": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Resolvedvalue"
            }
         },
         "title": "ResolvedPipelineVariable",
         "type": "object"
      }
   },
   "additionalProperties": true
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

  • extra: str = allow

Fields:
field artifactRevisions: builtins.list[ArtifactRevision] | None [Optional]

A list of ArtifactRevision objects included in a pipeline execution.

field executionMode: Literal['QUEUED', 'SUPERSEDED', 'PARALLEL'] | None = None

The method that the pipeline will use to handle multiple executions.

The default mode is SUPERSEDED.

field executionType: Literal['STANDARD', 'ROLLBACK'] | None = None

The type of the pipeline execution.

field pipelineExecutionId: str | None = None

The ID of the pipeline execution.

field pipelineName: str | None = None

The name of the pipeline with the specified pipeline execution.

field pipelineVersion: int | None = None

The version number of the pipeline with the specified pipeline execution.

field rollbackMetadata: PipelineRollbackMetadata | None = None

The metadata about the execution pertaining to stage rollback.

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.

field status: Literal['Cancelled', 'InProgress', 'Stopped', 'Stopping', 'Succeeded', 'Superseded', 'Failed'] | None = None

The status of the pipeline execution.

field statusSummary: str | None = None

A summary that contains a description of the pipeline execution status.

field trigger: ExecutionTrigger | None = None

The interaction or event that started a pipeline execution.

field variables: builtins.list[ResolvedPipelineVariable] | None [Optional]

A list of pipeline variables used for the pipeline execution.

manager_class

alias of PipelineExecutionManager

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]

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

property pk: OrderedDict[str, Any]

The composite primary key for this pipeline execution.

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.codepipeline.ActionTypeManager[source]

Bases: Boto3ModelManager

create(model: ActionType, tags: list[botocraft.services.common.Tag] | None = None) CreateCustomActionTypeOutput[source]

Creates a new custom action that can be used in all pipelines associated with the Amazon Web Services account. Only used for custom actions.

Parameters:

model – The ActionType to create.

Keyword Arguments:

tags – The tags for the custom action.

delete(category: Literal['Source', 'Build', 'Deploy', 'Test', 'Invoke', 'Approval', 'Compute'], provider: str, version: str) None[source]

Marks a custom action as deleted. PollForJobs for the custom action fails after the action is marked for deletion. Used for custom actions only.

Parameters:
  • category – The category of the custom action that you want to delete, such as source or deploy.

  • provider – The provider of the service used in the custom action, such as CodeDeploy.

  • version – The version of the custom action to delete.

get(category: Literal['Source', 'Build', 'Deploy', 'Test', 'Invoke', 'Approval', 'Compute'], owner: str, provider: str, version: str) GetActionTypeOutput | None[source]

Returns information about an action type created for an external provider, where the action is to be used by customers of the external provider. The action can be created with any supported integration model.

Parameters:
  • category – Defines what kind of action can be taken in the stage. The following are the valid values:

  • owner – The creator of an action type that was created with any supported integration model. There are two valid values: AWS and ThirdParty.

  • provider – The provider of the action type being called. The provider name is specified when the action type is created.

  • version – A string that describes the action type version.

list(*, actionOwnerFilter: Literal['AWS', 'ThirdParty', 'Custom'] | None = None, regionFilter: str | None = None) PrimaryBoto3ModelQuerySet[source]

Gets a summary of all CodePipeline action types associated with your account.

Keyword Arguments:
  • actionOwnerFilter – Filters the list of action types to those created by a specified entity.

  • regionFilter – The Region to filter on for the list of action types.

update(model: ActionType) None[source]

Updates an action type that was created with any supported integration model, where the action type is to be used by customers of the action type provider. Use a JSON file with the action definition and UpdateActionType to provide the full structure.

Parameters:

model – The ActionType to update.

service_name: str = 'codepipeline'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

class botocraft.services.codepipeline.PipelineExecutionManager[source]

Bases: ReadonlyBoto3ModelManager

get(pipelineName: str, pipelineExecutionId: str) GetPipelineExecutionOutput | None[source]

Returns information about an execution of a pipeline, including details about artifacts, the pipeline execution ID, and the name, version, and status of the pipeline.

Parameters:
  • pipelineName – The name of the pipeline about which you want to get execution details.

  • pipelineExecutionId – The ID of the pipeline execution about which you want to get execution details.

list(pipelineName: str, *, filter: PipelineExecutionFilter | None = None) PrimaryBoto3ModelQuerySet[source]

Gets a summary of the most recent executions for a pipeline.

Parameters:

pipelineName – The name of the pipeline for which you want to get execution summary information.

Keyword Arguments:

filter – The pipeline execution to filter on.

stop(pipelineName: str, pipelineExecutionId: str, *, abandon: bool | None = None, reason: str | None = None) str[source]

Stops the specified pipeline execution. You choose to either stop the pipeline execution by completing in-progress actions without starting subsequent actions, or by abandoning in-progress actions. While completing or abandoning in- progress actions, the pipeline execution is in a Stopping state. After all in-progress actions are completed or abandoned, the pipeline execution is in a Stopped state.

Parameters:
  • pipelineName – The name of the pipeline to stop.

  • pipelineExecutionId – The ID of the pipeline execution to be stopped in the current stage. Use the GetPipelineState action to retrieve the current pipelineExecutionId.

Keyword Arguments:
  • abandon – Use this option to stop the pipeline execution by abandoning, rather than finishing, in-progress actions.

  • reason – Use this option to enter comments, such as the reason the pipeline was stopped.

service_name: str = 'codepipeline'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

class botocraft.services.codepipeline.PipelineManager[source]

Bases: Boto3ModelManager

create(model: Pipeline, tags: list[botocraft.services.common.Tag] | None = None) CreatePipelineOutput[source]

Creates a pipeline.

Parameters:

model – The PipelineDeclaration to create.

Keyword Arguments:

tags – The tags for the pipeline.

delete(name: str) None[source]

Deletes the specified pipeline.

Parameters:

name – The name of the pipeline to be deleted.

get(name: str, *, version: int | None = None) GetPipelineOutput | None[source]

Returns the metadata, structure, stages, and actions of a pipeline. Can be used to return the entire structure of a pipeline in JSON format, which can then be modified and used to update the pipeline structure with UpdatePipeline.

Parameters:

name – The name of the pipeline for which you want to get information. Pipeline names must be unique in an Amazon Web Services account.

Keyword Arguments:

version – The version number of the pipeline. If you do not specify a version, defaults to the current version.

list(*, version: int | None = None) PrimaryBoto3ModelQuerySet[source]

Returns every pipeline in the account. Each entry is loaded with ``GetPipeline`` after listing, so models include the full definition (stages, artifact stores, variables, triggers, ``pipelineArn``, etc.), not only ``ListPipelines`` summary fields. Optional ``version`` pins the pipeline revision fetched for every name; omit it to load the latest revision for each pipeline.

Keyword Arguments:

version – When set, each pipeline is loaded with ``GetPipeline`` using this version number. When omitted, the current (latest) revision is used.

start_execution(name: str, *, variables: list[botocraft.services.codepipeline.PipelineVariable] | None = None, clientRequestToken: str | None = None, sourceRevisions: list[botocraft.services.codepipeline.SourceRevisionOverride] | None = None) str[source]

Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.

Parameters:

name – The name of the pipeline to start.

Keyword Arguments:
  • variables – A list that overrides pipeline variables for a pipeline execution that’s being started. Variable names must match [A-Za-z0-9@-_]+, and the values can be anything except an empty string.

  • clientRequestToken – The system-generated unique ID used to identify a unique execution request.

  • sourceRevisions – A list that allows you to specify, or override, the source revision for a pipeline execution that’s being started. A source revision is the version with all the changes to your application code, or source artifact, for the pipeline execution.

stop_execution(pipelineName: str, pipelineExecutionId: str, *, abandon: bool | None = None, reason: str | None = None) str[source]

Stops the specified pipeline execution. You choose to either stop the pipeline execution by completing in-progress actions without starting subsequent actions, or by abandoning in-progress actions. While completing or abandoning in- progress actions, the pipeline execution is in a Stopping state. After all in-progress actions are completed or abandoned, the pipeline execution is in a Stopped state.

Parameters:
  • pipelineName – The name of the pipeline to stop.

  • pipelineExecutionId – The ID of the pipeline execution to be stopped in the current stage. Use the GetPipelineState action to retrieve the current pipelineExecutionId.

Keyword Arguments:
  • abandon – Use this option to stop the pipeline execution by abandoning, rather than finishing, in-progress actions.

  • reason – Use this option to enter comments, such as the reason the pipeline was stopped.

update(model: Pipeline) UpdatePipelineOutput[source]

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure and UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

Parameters:

model – The PipelineDeclaration to update.

service_name: str = 'codepipeline'

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.codepipeline.ActionConfigurationProperty[source]

Bases: Boto3Model

Represents information about an action configuration property.

Show JSON schema
{
   "title": "ActionConfigurationProperty",
   "description": "Represents information about an action configuration property.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "required": {
         "title": "Required",
         "type": "boolean"
      },
      "key": {
         "title": "Key",
         "type": "boolean"
      },
      "secret": {
         "title": "Secret",
         "type": "boolean"
      },
      "queryable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Queryable"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "type": {
         "anyOf": [
            {
               "enum": [
                  "String",
                  "Number",
                  "Boolean"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Type"
      }
   },
   "required": [
      "name",
      "required",
      "key",
      "secret"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field description: str | None = None

The description of the action configuration property that is displayed to users.

field key: bool [Required]

Whether the configuration property is a key.

field name: str [Required]

The name of the action configuration property.

field queryable: bool | None = None

Indicates that the property is used with PollForJobs.

When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

field required: bool [Required]

Whether the configuration property is a required value.

field secret: bool [Required]

Whether the configuration property is secret.

Secrets are hidden from all calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs.

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.

field type: Literal['String', 'Number', 'Boolean'] | None = None

The type of the configuration property.

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.codepipeline.ActionDeclaration[source]

Bases: Boto3Model

Represents information about an action declaration.

Show JSON schema
{
   "title": "ActionDeclaration",
   "description": "Represents information about an action declaration.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "actionTypeId": {
         "$ref": "#/$defs/ActionTypeId"
      },
      "runOrder": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Runorder"
      },
      "configuration": {
         "anyOf": [
            {
               "additionalProperties": {
                  "type": "string"
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "title": "Configuration"
      },
      "commands": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Commands"
      },
      "outputArtifacts": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/OutputArtifact"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Outputartifacts"
      },
      "inputArtifacts": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/InputArtifact"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Inputartifacts"
      },
      "outputVariables": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Outputvariables"
      },
      "roleArn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Rolearn"
      },
      "region": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Region"
      },
      "namespace": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Namespace"
      },
      "timeoutInMinutes": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Timeoutinminutes"
      },
      "environmentVariables": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/EnvironmentVariable"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Environmentvariables"
      }
   },
   "$defs": {
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "EnvironmentVariable": {
         "description": "Information about an environment variable for a build project or a build.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "PLAINTEXT",
                        "PARAMETER_STORE",
                        "SECRETS_MANAGER"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "value"
         ],
         "title": "EnvironmentVariable",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "OutputArtifact": {
         "description": "Represents information about the output of an action.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "files": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Files"
            }
         },
         "required": [
            "name"
         ],
         "title": "OutputArtifact",
         "type": "object"
      }
   },
   "required": [
      "name",
      "actionTypeId"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field actionTypeId: ActionTypeId [Required]

Specifies the action type and the provider of the action.

field commands: builtins.list[str] | None [Optional]

The shell commands to run with your compute action in CodePipeline.

All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.

field configuration: dict[str, str] | None [Optional]

The action’s configuration.

These are key-value pairs that specify input values for an action. For more information, see Action Structure Requirements in CodePipeline. For the list of configuration properties for the CloudFormation action type in CodePipeline, see Configuration Properties Reference in the CloudFormation User Guide. For template snippets with examples, see Using Parameter Override Functions with CodePipeline Pipelines in the CloudFormation User Guide.

field environmentVariables: builtins.list[EnvironmentVariable] | None [Optional]

The environment variables for the action.

field inputArtifacts: builtins.list[InputArtifact] | None [Optional]

The name or ID of the artifact consumed by the action, such as a test or build artifact.

field name: str [Required]

The action declaration’s name.

field namespace: str | None = None

The variable namespace associated with the action.

All variables produced as output by this action fall under this namespace.

field outputArtifacts: builtins.list[OutputArtifact] | None [Optional]

The name or ID of the result of the action declaration, such as a test or build artifact.

field outputVariables: builtins.list[str] | None [Optional]

The list of variables that are to be exported from the compute action.

This is specifically CodeBuild environment variables as used for that action.

field region: str | None = None

The action declaration’s Amazon Web Services Region, such as us-east-1.

field roleArn: str | None = None

The ARN of the IAM service role that performs the declared action.

This is assumed through the roleArn for the pipeline.

field runOrder: int | None = None

The order in which actions are run.

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.

field timeoutInMinutes: int | None = None

A timeout duration in minutes that can be applied against the ActionType’s default timeout value specified in Quotas for CodePipeline . This attribute is available only to the manual approval ActionType.

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.codepipeline.ActionTypeId[source]

Bases: Boto3Model

Represents information about an action type.

Show JSON schema
{
   "title": "ActionTypeId",
   "description": "Represents information about an action type.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "category": {
         "enum": [
            "Source",
            "Build",
            "Deploy",
            "Test",
            "Invoke",
            "Approval",
            "Compute"
         ],
         "title": "Category",
         "type": "string"
      },
      "owner": {
         "enum": [
            "AWS",
            "ThirdParty",
            "Custom"
         ],
         "title": "Owner",
         "type": "string"
      },
      "provider": {
         "title": "Provider",
         "type": "string"
      },
      "version": {
         "title": "Version",
         "type": "string"
      }
   },
   "required": [
      "category",
      "owner",
      "provider",
      "version"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field category: Literal['Source', 'Build', 'Deploy', 'Test', 'Invoke', 'Approval', 'Compute'] [Required]

A category defines what kind of action can be taken in the stage, and constrains the provider type for the action.

Valid categories are limited to one of the following values.

field owner: Literal['AWS', 'ThirdParty', 'Custom'] [Required]

The creator of the action being called.

There are three valid values for the Owner field in the action category section within your pipeline structure: AWS, ThirdParty, and Custom. For more information, see Valid Action Types and Providers in CodePipeline.

field provider: str [Required]

The provider of the service being called by the action.

Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as CodeDeploy. For more information, see Valid Action Types and Providers in CodePipeline.

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.

field version: str [Required]

A string that describes the action version.

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.codepipeline.ActionTypeSettings[source]

Bases: Boto3Model

Returns information about the settings for an action type.

Show JSON schema
{
   "title": "ActionTypeSettings",
   "description": "Returns information about the settings for an action type.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "thirdPartyConfigurationUrl": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Thirdpartyconfigurationurl"
      },
      "entityUrlTemplate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Entityurltemplate"
      },
      "executionUrlTemplate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executionurltemplate"
      },
      "revisionUrlTemplate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionurltemplate"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field entityUrlTemplate: str | None = None

The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for a CodeDeploy deployment group.

This link is provided as part of the action display in the pipeline.

field executionUrlTemplate: str | None = None

The URL returned to the CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for CodeDeploy.

This link is shown on the pipeline view page in the CodePipeline console and provides a link to the execution entity of the external action.

field revisionUrlTemplate: str | None = None

The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.

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.

field thirdPartyConfigurationUrl: str | None = None

The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.

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.codepipeline.ArtifactDetails[source]

Bases: Boto3Model

Returns information about the details of an artifact.

Show JSON schema
{
   "title": "ArtifactDetails",
   "description": "Returns information about the details of an artifact.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "minimumCount": {
         "title": "Minimumcount",
         "type": "integer"
      },
      "maximumCount": {
         "title": "Maximumcount",
         "type": "integer"
      }
   },
   "required": [
      "minimumCount",
      "maximumCount"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field maximumCount: int [Required]

The maximum number of artifacts allowed for the action type.

field minimumCount: int [Required]

The minimum number of artifacts allowed for the action 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.codepipeline.ArtifactRevision[source]

Bases: Boto3Model

Represents revision details of an artifact.

Show JSON schema
{
   "title": "ArtifactRevision",
   "description": "Represents revision details of an artifact.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "revisionId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionid"
      },
      "revisionChangeIdentifier": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionchangeidentifier"
      },
      "revisionSummary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionsummary"
      },
      "created": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Created"
      },
      "revisionUrl": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionurl"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field created: datetime | None = None

The date and time when the most recent revision of the artifact was created, in timestamp format.

field name: str | None = None

The name of an artifact.

This name might be system-generated, such as “MyApp”, or defined by the user when an action is created.

field revisionChangeIdentifier: str | None = None

An additional identifier for a revision, such as a commit date or, for artifacts stored in Amazon S3 buckets, the ETag value.

field revisionId: str | None = None

The revision ID of the artifact.

field revisionSummary: str | None = None

Summary information about the most recent revision of the artifact.

For GitHub and CodeCommit repositories, the commit message. For Amazon S3 buckets or actions, the user-provided content of a codepipeline-artifact-revision-summary key specified in the object metadata.

field revisionUrl: str | None = None

The commit ID for the artifact revision.

For artifacts stored in GitHub or CodeCommit repositories, the commit ID is linked to a commit details page.

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.codepipeline.ArtifactStore[source]

Bases: Boto3Model

The S3 bucket where artifacts for the pipeline are stored.

You must include either artifactStore or artifactStores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifactStores.

Show JSON schema
{
   "title": "ArtifactStore",
   "description": "The S3 bucket where artifacts for the pipeline are stored.\n\nYou must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create\na cross-region action in your pipeline, you must use ``artifactStores``.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "type": {
         "const": "S3",
         "title": "Type",
         "type": "string"
      },
      "location": {
         "title": "Location",
         "type": "string"
      },
      "encryptionKey": {
         "anyOf": [
            {
               "$ref": "#/$defs/EncryptionKey"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "EncryptionKey": {
         "description": "Represents information about the key used to encrypt data in the artifact store,\nsuch as an Amazon Web Services Key Management Service (Key Management Service) key.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "const": "KMS",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "id",
            "type"
         ],
         "title": "EncryptionKey",
         "type": "object"
      }
   },
   "required": [
      "type",
      "location"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field encryptionKey: EncryptionKey | None = None

The encryption key used to encrypt the data in the artifact store, such as an Amazon Web Services Key Management Service key.

If this is undefined, the default key for Amazon S3 is used.

field location: str [Required]

The S3 bucket used for storing the artifacts for a pipeline.

You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same Amazon Web Services Region as the pipeline to store your pipeline artifacts.

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.

field type: Literal['S3'] [Required]

The type of the artifact store, such as S3.

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.codepipeline.BeforeEntryConditions[source]

Bases: Boto3Model

The conditions for making checks for entry to a stage.

For more information about conditions, see Stage conditions and How do stage conditions work?.

Show JSON schema
{
   "title": "BeforeEntryConditions",
   "description": "The conditions for making checks for entry to a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "conditions": {
         "items": {
            "$ref": "#/$defs/Condition"
         },
         "title": "Conditions",
         "type": "array"
      }
   },
   "$defs": {
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      }
   },
   "required": [
      "conditions"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field conditions: builtins.list[Condition] [Required]

The conditions that are configured as entry conditions.

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.codepipeline.BlockerDeclaration[source]

Bases: Boto3Model

Reserved for future use.

Show JSON schema
{
   "title": "BlockerDeclaration",
   "description": "Reserved for future use.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "type": {
         "const": "Schedule",
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "name",
      "type"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field name: str [Required]

Reserved for future use.

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.

field type: Literal['Schedule'] [Required]

Reserved for future use.

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.codepipeline.Condition[source]

Bases: Boto3Model

The condition for the stage.

A condition is made up of the rules and the result for the condition. For more information about conditions, see Stage conditions and How do stage conditions work?.. For more information about rules, see the CodePipeline rule reference.

Show JSON schema
{
   "title": "Condition",
   "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "result": {
         "anyOf": [
            {
               "enum": [
                  "ROLLBACK",
                  "FAIL",
                  "RETRY",
                  "SKIP"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Result"
      },
      "rules": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/RuleDeclaration"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Rules"
      }
   },
   "$defs": {
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field result: Literal['ROLLBACK', 'FAIL', 'RETRY', 'SKIP'] | None = None

The action to be done when the condition is met.

For example, rolling back an execution for a failure condition.

field rules: builtins.list[RuleDeclaration] | None [Optional]

The rules that make up the condition.

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.codepipeline.EncryptionKey[source]

Bases: Boto3Model

Represents information about the key used to encrypt data in the artifact store, such as an Amazon Web Services Key Management Service (Key Management Service) key.

Show JSON schema
{
   "title": "EncryptionKey",
   "description": "Represents information about the key used to encrypt data in the artifact store,\nsuch as an Amazon Web Services Key Management Service (Key Management Service) key.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "const": "KMS",
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "id",
      "type"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field id: str [Required]

The ID used to identify the key.

For an Amazon Web Services KMS key, you can use the key ID, the key ARN, or the alias ARN.

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.

field type: Literal['KMS'] [Required]

The type of encryption key, such as an Amazon Web Services KMS key.

When creating or updating a pipeline, the value must be set to ‘KMS’.

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.codepipeline.ExecutionTrigger[source]

Bases: Boto3Model

The interaction or event that started a pipeline execution.

Show JSON schema
{
   "title": "ExecutionTrigger",
   "description": "The interaction or event that started a pipeline execution.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "triggerType": {
         "anyOf": [
            {
               "enum": [
                  "CreatePipeline",
                  "StartPipelineExecution",
                  "PollForSourceChanges",
                  "Webhook",
                  "CloudWatchEvent",
                  "PutActionRevision",
                  "WebhookV2",
                  "ManualRollback",
                  "AutomatedRollback"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Triggertype"
      },
      "triggerDetail": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Triggerdetail"
      }
   }
}

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.

field triggerDetail: str | None = None

Detail related to the event that started a pipeline execution, such as the webhook ARN of the webhook that triggered the pipeline execution or the user ARN for a user- initiated start-pipeline-execution CLI command.

field triggerType: Literal['CreatePipeline', 'StartPipelineExecution', 'PollForSourceChanges', 'Webhook', 'CloudWatchEvent', 'PutActionRevision', 'WebhookV2', 'ManualRollback', 'AutomatedRollback'] | None = None

The type of change-detection method, command, or user interaction that started a pipeline execution.

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.codepipeline.FailureConditions[source]

Bases: Boto3Model

The configuration that specifies the result, such as rollback, to occur upon stage failure.

For more information about conditions, see Stage conditions and How do stage conditions work?.

Show JSON schema
{
   "title": "FailureConditions",
   "description": "The configuration that specifies the result, such as rollback, to occur upon stage\nfailure.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-\nconditions.html>`_.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "result": {
         "anyOf": [
            {
               "enum": [
                  "ROLLBACK",
                  "FAIL",
                  "RETRY",
                  "SKIP"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Result"
      },
      "retryConfiguration": {
         "anyOf": [
            {
               "$ref": "#/$defs/RetryConfiguration"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "conditions": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Conditions"
      }
   },
   "$defs": {
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "RetryConfiguration": {
         "description": "The retry configuration specifies automatic retry for a failed stage, along with the\nconfigured retry mode.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "retryMode": {
               "anyOf": [
                  {
                     "enum": [
                        "FAILED_ACTIONS",
                        "ALL_ACTIONS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Retrymode"
            }
         },
         "title": "RetryConfiguration",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field conditions: builtins.list[Condition] | None [Optional]

The conditions that are configured as failure conditions.

For more information about conditions, see Stage conditions and How do stage conditions work?.

field result: Literal['ROLLBACK', 'FAIL', 'RETRY', 'SKIP'] | None = None

The specified result for when the failure conditions are met, such as rolling back the stage.

field retryConfiguration: RetryConfiguration | None = None

The retry configuration specifies automatic retry for a failed stage, along with the configured retry mode.

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.codepipeline.GitBranchFilterCriteria[source]

Bases: Boto3Model

The Git repository branches specified as filter criteria to start the pipeline.

Show JSON schema
{
   "title": "GitBranchFilterCriteria",
   "description": "The Git repository branches specified as filter criteria to start the pipeline.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "includes": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Includes"
      },
      "excludes": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Excludes"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field excludes: builtins.list[str] | None [Optional]

The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.

field includes: builtins.list[str] | None [Optional]

The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.

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.codepipeline.GitConfiguration[source]

Bases: Boto3Model

A type of trigger configuration for Git-based source actions.

You can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by the CodeStarSourceConnection action type.

Show JSON schema
{
   "title": "GitConfiguration",
   "description": "A type of trigger configuration for Git-based source actions.\n\nYou can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by\nthe ``CodeStarSourceConnection`` action type.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "sourceActionName": {
         "title": "Sourceactionname",
         "type": "string"
      },
      "push": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/GitPushFilter"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Push"
      },
      "pullRequest": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/GitPullRequestFilter"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Pullrequest"
      }
   },
   "$defs": {
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      },
      "GitPullRequestFilter": {
         "description": "The event criteria for the pull request trigger configuration, such as the lists of\nbranches or file paths to include and exclude.\n\nThe following are valid values for the events for this filter:\n\n* CLOSED\n* OPEN\n* UPDATED",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "events": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "OPEN",
                           "UPDATED",
                           "CLOSED"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Events"
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPullRequestFilter",
         "type": "object"
      },
      "GitPushFilter": {
         "description": "The event criteria that specify when a specified repository event will start the\npipeline for the specified trigger configuration, such as the lists of Git tags to\ninclude and exclude.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "tags": {
               "$ref": "#/$defs/GitTagFilterCriteria",
               "default": null
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPushFilter",
         "type": "object"
      },
      "GitTagFilterCriteria": {
         "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitTagFilterCriteria",
         "type": "object"
      }
   },
   "required": [
      "sourceActionName"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field pullRequest: builtins.list[GitPullRequestFilter] | None [Optional]

The field where the repository event that will start the pipeline is specified as pull requests.

field push: builtins.list[GitPushFilter] | None [Optional]

The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.

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.

field sourceActionName: str [Required]

The name of the pipeline source action where the trigger configuration, such as Git tags, is specified.

The trigger configuration will start the pipeline upon the specified change only.

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.codepipeline.GitFilePathFilterCriteria[source]

Bases: Boto3Model

The Git repository file paths specified as filter criteria to start the pipeline.

Show JSON schema
{
   "title": "GitFilePathFilterCriteria",
   "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "includes": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Includes"
      },
      "excludes": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Excludes"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field excludes: builtins.list[str] | None [Optional]

The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.

field includes: builtins.list[str] | None [Optional]

The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.

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.codepipeline.GitPullRequestFilter[source]

Bases: Boto3Model

The event criteria for the pull request trigger configuration, such as the lists of branches or file paths to include and exclude.

The following are valid values for the events for this filter:

  • CLOSED

  • OPEN

  • UPDATED

Show JSON schema
{
   "title": "GitPullRequestFilter",
   "description": "The event criteria for the pull request trigger configuration, such as the lists of\nbranches or file paths to include and exclude.\n\nThe following are valid values for the events for this filter:\n\n* CLOSED\n* OPEN\n* UPDATED",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "events": {
         "anyOf": [
            {
               "items": {
                  "enum": [
                     "OPEN",
                     "UPDATED",
                     "CLOSED"
                  ],
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Events"
      },
      "branches": {
         "anyOf": [
            {
               "$ref": "#/$defs/GitBranchFilterCriteria"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "filePaths": {
         "anyOf": [
            {
               "$ref": "#/$defs/GitFilePathFilterCriteria"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field branches: GitBranchFilterCriteria | None = None

The field that specifies to filter on branches for the pull request trigger configuration.

field events: builtins.list[Literal['OPEN', 'UPDATED', 'CLOSED']] | None [Optional]

The field that specifies which pull request events to filter on (OPEN, UPDATED, CLOSED) for the trigger configuration.

field filePaths: GitFilePathFilterCriteria | None = None

The field that specifies to filter on file paths for the pull request trigger configuration.

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.codepipeline.GitPushFilter[source]

Bases: TagsDictMixin, Boto3Model

The event criteria that specify when a specified repository event will start the pipeline for the specified trigger configuration, such as the lists of Git tags to include and exclude.

Show JSON schema
{
   "title": "GitPushFilter",
   "description": "The event criteria that specify when a specified repository event will start the\npipeline for the specified trigger configuration, such as the lists of Git tags to\ninclude and exclude.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "tags": {
         "$ref": "#/$defs/GitTagFilterCriteria",
         "default": null
      },
      "branches": {
         "anyOf": [
            {
               "$ref": "#/$defs/GitBranchFilterCriteria"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "filePaths": {
         "anyOf": [
            {
               "$ref": "#/$defs/GitFilePathFilterCriteria"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      },
      "GitTagFilterCriteria": {
         "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitTagFilterCriteria",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Tags: GitTagFilterCriteria = None (alias 'tags')

The field that contains the details for the Git tags trigger configuration.

field branches: GitBranchFilterCriteria | None = None

The field that specifies to filter on branches for the push trigger configuration.

field filePaths: GitFilePathFilterCriteria | None = None

The field that specifies to filter on file paths for the push trigger configuration.

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.

tag_class

alias of GitTagFilterCriteria

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.

property tags: TagsDict

Get the tags for the model instance.

Returns:

The tags for the model instance.

pydantic model botocraft.services.codepipeline.GitTagFilterCriteria[source]

Bases: Boto3Model

The Git tags specified as filter criteria for whether a Git tag repository event will start the pipeline.

Show JSON schema
{
   "title": "GitTagFilterCriteria",
   "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "includes": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Includes"
      },
      "excludes": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Excludes"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field excludes: builtins.list[str] | None [Optional]

The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.

field includes: builtins.list[str] | None [Optional]

The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.

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.codepipeline.InputArtifact[source]

Bases: Boto3Model

Represents information about an artifact to be worked on, such as a test or build artifact.

Show JSON schema
{
   "title": "InputArtifact",
   "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      }
   },
   "required": [
      "name"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field name: str [Required]

The name of the artifact to be worked on (for example, “My App”).

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.codepipeline.OutputArtifact[source]

Bases: Boto3Model

Represents information about the output of an action.

Show JSON schema
{
   "title": "OutputArtifact",
   "description": "Represents information about the output of an action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "files": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Files"
      }
   },
   "required": [
      "name"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field files: builtins.list[str] | None [Optional]

The files that you want to associate with the output artifact that will be exported from the compute action.

field name: str [Required]

The name of the output of an artifact, such as “My App”.

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.codepipeline.PipelineRollbackMetadata[source]

Bases: Boto3Model

The metadata for the stage execution to be rolled back.

Show JSON schema
{
   "title": "PipelineRollbackMetadata",
   "description": "The metadata for the stage execution to be rolled back.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "rollbackTargetPipelineExecutionId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Rollbacktargetpipelineexecutionid"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field rollbackTargetPipelineExecutionId: str | None = None

The pipeline execution ID to which the stage will be rolled back.

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.codepipeline.PipelineTriggerDeclaration[source]

Bases: Boto3Model

Represents information about the specified trigger configuration, such as the filter criteria and the source stage for the action that contains the trigger.

This is only supported for the CodeStarSourceConnection action type.

When a trigger configuration is specified, default change detection for repository and branch commits is disabled.

Show JSON schema
{
   "title": "PipelineTriggerDeclaration",
   "description": "Represents information about the specified trigger configuration, such as the filter\ncriteria and the source stage for the action that contains the trigger.\n\nThis is only supported for the ``CodeStarSourceConnection`` action type.\n\n\n\nWhen a trigger configuration is specified, default change detection for repository and branch commits is disabled.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "providerType": {
         "const": "CodeStarSourceConnection",
         "title": "Providertype",
         "type": "string"
      },
      "gitConfiguration": {
         "$ref": "#/$defs/GitConfiguration"
      }
   },
   "$defs": {
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitConfiguration": {
         "description": "A type of trigger configuration for Git-based source actions.\n\nYou can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by\nthe ``CodeStarSourceConnection`` action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "sourceActionName": {
               "title": "Sourceactionname",
               "type": "string"
            },
            "push": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPushFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Push"
            },
            "pullRequest": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPullRequestFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pullrequest"
            }
         },
         "required": [
            "sourceActionName"
         ],
         "title": "GitConfiguration",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      },
      "GitPullRequestFilter": {
         "description": "The event criteria for the pull request trigger configuration, such as the lists of\nbranches or file paths to include and exclude.\n\nThe following are valid values for the events for this filter:\n\n* CLOSED\n* OPEN\n* UPDATED",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "events": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "OPEN",
                           "UPDATED",
                           "CLOSED"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Events"
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPullRequestFilter",
         "type": "object"
      },
      "GitPushFilter": {
         "description": "The event criteria that specify when a specified repository event will start the\npipeline for the specified trigger configuration, such as the lists of Git tags to\ninclude and exclude.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "tags": {
               "$ref": "#/$defs/GitTagFilterCriteria",
               "default": null
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPushFilter",
         "type": "object"
      },
      "GitTagFilterCriteria": {
         "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitTagFilterCriteria",
         "type": "object"
      }
   },
   "required": [
      "providerType",
      "gitConfiguration"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field gitConfiguration: GitConfiguration [Required]

Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags.

field providerType: Literal['CodeStarSourceConnection'] [Required]

The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.

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.codepipeline.PipelineVariable[source]

Bases: Boto3Model

A pipeline-level variable used for a pipeline execution.

Show JSON schema
{
   "title": "PipelineVariable",
   "description": "A pipeline-level variable used for a pipeline execution.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "value": {
         "title": "Value",
         "type": "string"
      }
   },
   "required": [
      "name",
      "value"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field name: str [Required]

The name of a pipeline-level variable.

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.

field value: str [Required]

The value of a pipeline-level variable.

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.codepipeline.PipelineVariableDeclaration[source]

Bases: Boto3Model

A variable declared at the pipeline level.

Show JSON schema
{
   "title": "PipelineVariableDeclaration",
   "description": "A variable declared at the pipeline level.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "defaultValue": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Defaultvalue"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      }
   },
   "required": [
      "name"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field defaultValue: str | None = None

The value of a pipeline-level variable.

field description: str | None = None

The description of a pipeline-level variable.

It’s used to add additional context about the variable, and not being used at time when pipeline executes.

field name: str [Required]

The name of a pipeline-level variable.

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.codepipeline.ResolvedPipelineVariable[source]

Bases: Boto3Model

A pipeline-level variable used for a pipeline execution.

Show JSON schema
{
   "title": "ResolvedPipelineVariable",
   "description": "A pipeline-level variable used for a pipeline execution.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "resolvedValue": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Resolvedvalue"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field name: str | None = None

The name of a pipeline-level variable.

field resolvedValue: str | None = None

The resolved value of a pipeline-level variable.

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.codepipeline.RetryConfiguration[source]

Bases: Boto3Model

The retry configuration specifies automatic retry for a failed stage, along with the configured retry mode.

Show JSON schema
{
   "title": "RetryConfiguration",
   "description": "The retry configuration specifies automatic retry for a failed stage, along with the\nconfigured retry mode.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "retryMode": {
         "anyOf": [
            {
               "enum": [
                  "FAILED_ACTIONS",
                  "ALL_ACTIONS"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Retrymode"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field retryMode: Literal['FAILED_ACTIONS', 'ALL_ACTIONS'] | None = None

The method that you want to configure for automatic stage retry on stage failure.

You can specify to retry only failed action in the stage or all actions in the stage.

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.codepipeline.RuleDeclaration[source]

Bases: Boto3Model

Represents information about the rule to be created for an associated condition.

An example would be creating a new rule for an entry condition, such as a rule that checks for a test result before allowing the run to enter the deployment stage. For more information about conditions, see Stage conditions and How do stage conditions work?. For more information about rules, see the CodePipeline rule reference.

Show JSON schema
{
   "title": "RuleDeclaration",
   "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "ruleTypeId": {
         "$ref": "#/$defs/RuleTypeId"
      },
      "configuration": {
         "anyOf": [
            {
               "additionalProperties": {
                  "type": "string"
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "title": "Configuration"
      },
      "commands": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Commands"
      },
      "inputArtifacts": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/InputArtifact"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Inputartifacts"
      },
      "roleArn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Rolearn"
      },
      "region": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Region"
      },
      "timeoutInMinutes": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Timeoutinminutes"
      }
   },
   "$defs": {
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      }
   },
   "required": [
      "name",
      "ruleTypeId"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field commands: builtins.list[str] | None [Optional]

The shell commands to run with your commands rule in CodePipeline.

All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.

field configuration: dict[str, str] | None [Optional]

The action configuration fields for the rule.

field inputArtifacts: builtins.list[InputArtifact] | None [Optional]

The input artifacts fields for the rule, such as specifying an input file for the rule.

field name: str [Required]

The name of the rule that is created for the condition, such as VariableCheck.

field region: str | None = None

The Region for the condition associated with the rule.

field roleArn: str | None = None

The pipeline role ARN associated with the rule.

field ruleTypeId: RuleTypeId [Required]

The ID for the rule type, which is made up of the combined values for category, owner, provider, and version.

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.

field timeoutInMinutes: int | None = None

The action timeout for the rule.

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.codepipeline.RuleTypeId[source]

Bases: Boto3Model

The ID for the rule type, which is made up of the combined values for category, owner, provider, and version.

For more information about conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-

conditions.html>`_. For more information about rules, see the

CodePipeline rule reference.

Show JSON schema
{
   "title": "RuleTypeId",
   "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "owner": {
         "anyOf": [
            {
               "const": "AWS",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Owner"
      },
      "category": {
         "const": "Rule",
         "title": "Category",
         "type": "string"
      },
      "provider": {
         "title": "Provider",
         "type": "string"
      },
      "version": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Version"
      }
   },
   "required": [
      "category",
      "provider"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field category: Literal['Rule'] [Required]

A category defines what kind of rule can be run in the stage, and constrains the provider type for the rule.

The valid category is Rule.

field owner: Literal['AWS'] | None = None

The owner for this rule type.

field provider: str [Required]

The rule provider, such as the DeploymentWindow rule.

For a list of rule provider names, see the rules listed in the CodePipeline rule reference.

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.

field version: str | None = None

A string that describes the rule version.

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.codepipeline.SourceRevisionOverride[source]

Bases: Boto3Model

A list that allows you to specify, or override, the source revision for a pipeline execution that’s being started. A source revision is the version with all the changes to your application code, or source artifact, for the pipeline execution.

For the S3_OBJECT_VERSION_ID and S3_OBJECT_KEY types of source revisions, either of the types can be used independently, or they can be used together to override the source with a specific ObjectKey and VersionID.

Show JSON schema
{
   "title": "SourceRevisionOverride",
   "description": "A list that allows you to specify, or override, the source revision for a pipeline\nexecution that's being started. A source revision is the version with all the\nchanges to your application code, or source artifact, for the pipeline execution.\n\nFor the ``S3_OBJECT_VERSION_ID`` and ``S3_OBJECT_KEY`` types of source revisions, either of the types can be used\nindependently, or they can be used together to override the source with a specific ObjectKey and VersionID.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "actionName": {
         "title": "Actionname",
         "type": "string"
      },
      "revisionType": {
         "enum": [
            "COMMIT_ID",
            "IMAGE_DIGEST",
            "S3_OBJECT_VERSION_ID",
            "S3_OBJECT_KEY"
         ],
         "title": "Revisiontype",
         "type": "string"
      },
      "revisionValue": {
         "title": "Revisionvalue",
         "type": "string"
      }
   },
   "required": [
      "actionName",
      "revisionType",
      "revisionValue"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field actionName: str [Required]

The name of the action where the override will be applied.

field revisionType: Literal['COMMIT_ID', 'IMAGE_DIGEST', 'S3_OBJECT_VERSION_ID', 'S3_OBJECT_KEY'] [Required]

The type of source revision, based on the source provider.

For example, the revision type for the CodeCommit action provider is the commit ID.

field revisionValue: str [Required]

The source revision, or version of your source artifact, with the changes that you want to run in the pipeline execution.

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.codepipeline.StageDeclaration[source]

Bases: Boto3Model

Represents information about a stage and its definition.

Show JSON schema
{
   "title": "StageDeclaration",
   "description": "Represents information about a stage and its definition.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "blockers": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/BlockerDeclaration"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Blockers"
      },
      "actions": {
         "items": {
            "$ref": "#/$defs/ActionDeclaration"
         },
         "title": "Actions",
         "type": "array"
      },
      "onFailure": {
         "anyOf": [
            {
               "$ref": "#/$defs/FailureConditions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "onSuccess": {
         "anyOf": [
            {
               "$ref": "#/$defs/SuccessConditions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "beforeEntry": {
         "anyOf": [
            {
               "$ref": "#/$defs/BeforeEntryConditions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ActionDeclaration": {
         "description": "Represents information about an action declaration.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "actionTypeId": {
               "$ref": "#/$defs/ActionTypeId"
            },
            "runOrder": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Runorder"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "outputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OutputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputartifacts"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "outputVariables": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputvariables"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "namespace": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Namespace"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            },
            "environmentVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/EnvironmentVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Environmentvariables"
            }
         },
         "required": [
            "name",
            "actionTypeId"
         ],
         "title": "ActionDeclaration",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "BeforeEntryConditions": {
         "description": "The conditions for making checks for entry to a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "BeforeEntryConditions",
         "type": "object"
      },
      "BlockerDeclaration": {
         "description": "Reserved for future use.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "const": "Schedule",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "name",
            "type"
         ],
         "title": "BlockerDeclaration",
         "type": "object"
      },
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "EnvironmentVariable": {
         "description": "Information about an environment variable for a build project or a build.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "PLAINTEXT",
                        "PARAMETER_STORE",
                        "SECRETS_MANAGER"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "value"
         ],
         "title": "EnvironmentVariable",
         "type": "object"
      },
      "FailureConditions": {
         "description": "The configuration that specifies the result, such as rollback, to occur upon stage\nfailure.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-\nconditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "retryConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RetryConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "conditions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Condition"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Conditions"
            }
         },
         "title": "FailureConditions",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "OutputArtifact": {
         "description": "Represents information about the output of an action.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "files": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Files"
            }
         },
         "required": [
            "name"
         ],
         "title": "OutputArtifact",
         "type": "object"
      },
      "RetryConfiguration": {
         "description": "The retry configuration specifies automatic retry for a failed stage, along with the\nconfigured retry mode.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "retryMode": {
               "anyOf": [
                  {
                     "enum": [
                        "FAILED_ACTIONS",
                        "ALL_ACTIONS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Retrymode"
            }
         },
         "title": "RetryConfiguration",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      },
      "SuccessConditions": {
         "description": "The conditions for making checks that, if met, succeed a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "SuccessConditions",
         "type": "object"
      }
   },
   "required": [
      "name",
      "actions"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field actions: builtins.list[ActionDeclaration] [Required]

The actions included in a stage.

field beforeEntry: BeforeEntryConditions | None = None

The method to use when a stage allows entry.

For example, configuring this field for conditions will allow entry to the stage when the conditions are met.

field blockers: builtins.list[BlockerDeclaration] | None [Optional]

Reserved for future use.

field name: str [Required]

The name of the stage.

field onFailure: FailureConditions | None = None

The method to use when a stage has not completed successfully.

For example, configuring this field for rollback will roll back a failed stage automatically to the last successful pipeline execution in the stage.

field onSuccess: SuccessConditions | None = None

The method to use when a stage has succeeded.

For example, configuring this field for conditions will allow the stage to succeed when the conditions are met.

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.codepipeline.SuccessConditions[source]

Bases: Boto3Model

The conditions for making checks that, if met, succeed a stage.

For more information about conditions, see Stage conditions and How do stage conditions work?.

Show JSON schema
{
   "title": "SuccessConditions",
   "description": "The conditions for making checks that, if met, succeed a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "conditions": {
         "items": {
            "$ref": "#/$defs/Condition"
         },
         "title": "Conditions",
         "type": "array"
      }
   },
   "$defs": {
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      }
   },
   "required": [
      "conditions"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field conditions: builtins.list[Condition] [Required]

The conditions that are success conditions.

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.codepipeline.ActionTypeArtifactDetails[source]

Bases: Boto3Model

Information about parameters for artifacts associated with the action type, such as the minimum and maximum artifacts allowed.

Show JSON schema
{
   "title": "ActionTypeArtifactDetails",
   "description": "Information about parameters for artifacts associated with the action type, such as\nthe minimum and maximum artifacts allowed.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "minimumCount": {
         "title": "Minimumcount",
         "type": "integer"
      },
      "maximumCount": {
         "title": "Maximumcount",
         "type": "integer"
      }
   },
   "required": [
      "minimumCount",
      "maximumCount"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field maximumCount: int [Required]

The maximum number of artifacts that can be used with the actiontype.

For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source.

field minimumCount: int [Required]

The minimum number of artifacts that can be used with the action type.

For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source.

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.codepipeline.ActionTypeDeclaration[source]

Bases: Boto3Model

The parameters for the action type definition that are provided when the action type is created or updated.

Show JSON schema
{
   "title": "ActionTypeDeclaration",
   "description": "The parameters for the action type definition that are provided when the action type\nis created or updated.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "executor": {
         "$ref": "#/$defs/ActionTypeExecutor"
      },
      "id": {
         "$ref": "#/$defs/ActionTypeIdentifier"
      },
      "inputArtifactDetails": {
         "$ref": "#/$defs/ActionTypeArtifactDetails"
      },
      "outputArtifactDetails": {
         "$ref": "#/$defs/ActionTypeArtifactDetails"
      },
      "permissions": {
         "anyOf": [
            {
               "$ref": "#/$defs/ActionTypePermissions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "properties": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ActionTypeProperty"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Properties"
      },
      "urls": {
         "anyOf": [
            {
               "$ref": "#/$defs/ActionTypeUrls"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ActionTypeArtifactDetails": {
         "description": "Information about parameters for artifacts associated with the action type, such as\nthe minimum and maximum artifacts allowed.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "minimumCount": {
               "title": "Minimumcount",
               "type": "integer"
            },
            "maximumCount": {
               "title": "Maximumcount",
               "type": "integer"
            }
         },
         "required": [
            "minimumCount",
            "maximumCount"
         ],
         "title": "ActionTypeArtifactDetails",
         "type": "object"
      },
      "ActionTypeExecutor": {
         "description": "The action engine, or executor, for an action type created for a provider, where the\naction is to be used by customers of the provider.\n\nThe action engine is associated with the model used to create and update the action,\nsuch as the Lambda integration model.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "JobWorker",
                        "Lambda"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            },
            "configuration": {
               "$ref": "#/$defs/ExecutorConfiguration"
            },
            "policyStatementsTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Policystatementstemplate"
            },
            "jobTimeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Jobtimeout"
            }
         },
         "required": [
            "configuration"
         ],
         "title": "ActionTypeExecutor",
         "type": "object"
      },
      "ActionTypeIdentifier": {
         "description": "Specifies the category, owner, provider, and version of the action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeIdentifier",
         "type": "object"
      },
      "ActionTypePermissions": {
         "description": "Details identifying the users with permissions to use the action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "allowedAccounts": {
               "items": {
                  "type": "string"
               },
               "title": "Allowedaccounts",
               "type": "array"
            }
         },
         "required": [
            "allowedAccounts"
         ],
         "title": "ActionTypePermissions",
         "type": "object"
      },
      "ActionTypeProperty": {
         "description": "Represents information about each property specified in the action configuration,\nsuch as the description and key name that display for the customer using the action\ntype.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "optional": {
               "title": "Optional",
               "type": "boolean"
            },
            "key": {
               "title": "Key",
               "type": "boolean"
            },
            "noEcho": {
               "title": "Noecho",
               "type": "boolean"
            },
            "queryable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Queryable"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "required": [
            "name",
            "optional",
            "key",
            "noEcho"
         ],
         "title": "ActionTypeProperty",
         "type": "object"
      },
      "ActionTypeUrls": {
         "description": "Returns information about URLs for web pages that display to customers as links on\nthe pipeline view, such as an external configuration page for the action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "configurationUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Configurationurl"
            },
            "entityUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Entityurltemplate"
            },
            "executionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionurltemplate"
            },
            "revisionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurltemplate"
            }
         },
         "title": "ActionTypeUrls",
         "type": "object"
      },
      "ExecutorConfiguration": {
         "description": "The action engine, or executor, related to the supported integration model used to\ncreate and update the action type.\n\nThe available executor types are ``Lambda`` and ``JobWorker``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "lambdaExecutorConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LambdaExecutorConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "jobWorkerExecutorConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/JobWorkerExecutorConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ExecutorConfiguration",
         "type": "object"
      },
      "JobWorkerExecutorConfiguration": {
         "description": "Details about the polling configuration for the ``JobWorker`` action engine, or\nexecutor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "pollingAccounts": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingaccounts"
            },
            "pollingServicePrincipals": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingserviceprincipals"
            }
         },
         "title": "JobWorkerExecutorConfiguration",
         "type": "object"
      },
      "LambdaExecutorConfiguration": {
         "description": "Details about the configuration for the ``Lambda`` action engine, or executor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "lambdaFunctionArn": {
               "title": "Lambdafunctionarn",
               "type": "string"
            }
         },
         "required": [
            "lambdaFunctionArn"
         ],
         "title": "LambdaExecutorConfiguration",
         "type": "object"
      }
   },
   "required": [
      "executor",
      "id",
      "inputArtifactDetails",
      "outputArtifactDetails"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field description: str | None = None

The description for the action type to be updated.

field executor: ActionTypeExecutor [Required]

Information about the executor for an action type that was created with any supported integration model.

field id: ActionTypeIdentifier [Required]

The action category, owner, provider, and version of the action type to be updated.

field inputArtifactDetails: ActionTypeArtifactDetails [Required]

Details for the artifacts, such as application files, to be worked on by the action.

For example, the minimum and maximum number of input artifacts allowed.

field outputArtifactDetails: ActionTypeArtifactDetails [Required]

Details for the output artifacts, such as a built application, that are the result of the action.

For example, the minimum and maximum number of output artifacts allowed.

field permissions: ActionTypePermissions | None = None

Details identifying the accounts with permissions to use the action type.

field properties: builtins.list[ActionTypeProperty] | None [Optional]

The properties of the action type to be updated.

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.

field urls: ActionTypeUrls | None = None

The links associated with the action type to be updated.

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.codepipeline.ActionTypeExecutor[source]

Bases: Boto3Model

The action engine, or executor, for an action type created for a provider, where the action is to be used by customers of the provider.

The action engine is associated with the model used to create and update the action, such as the Lambda integration model.

Show JSON schema
{
   "title": "ActionTypeExecutor",
   "description": "The action engine, or executor, for an action type created for a provider, where the\naction is to be used by customers of the provider.\n\nThe action engine is associated with the model used to create and update the action,\nsuch as the Lambda integration model.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "type": {
         "anyOf": [
            {
               "enum": [
                  "JobWorker",
                  "Lambda"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Type"
      },
      "configuration": {
         "$ref": "#/$defs/ExecutorConfiguration"
      },
      "policyStatementsTemplate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Policystatementstemplate"
      },
      "jobTimeout": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Jobtimeout"
      }
   },
   "$defs": {
      "ExecutorConfiguration": {
         "description": "The action engine, or executor, related to the supported integration model used to\ncreate and update the action type.\n\nThe available executor types are ``Lambda`` and ``JobWorker``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "lambdaExecutorConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LambdaExecutorConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "jobWorkerExecutorConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/JobWorkerExecutorConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ExecutorConfiguration",
         "type": "object"
      },
      "JobWorkerExecutorConfiguration": {
         "description": "Details about the polling configuration for the ``JobWorker`` action engine, or\nexecutor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "pollingAccounts": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingaccounts"
            },
            "pollingServicePrincipals": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingserviceprincipals"
            }
         },
         "title": "JobWorkerExecutorConfiguration",
         "type": "object"
      },
      "LambdaExecutorConfiguration": {
         "description": "Details about the configuration for the ``Lambda`` action engine, or executor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "lambdaFunctionArn": {
               "title": "Lambdafunctionarn",
               "type": "string"
            }
         },
         "required": [
            "lambdaFunctionArn"
         ],
         "title": "LambdaExecutorConfiguration",
         "type": "object"
      }
   },
   "required": [
      "configuration"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field configuration: ExecutorConfiguration [Required]

The action configuration properties for the action type.

These properties are specified in the action definition when the action type is created.

field jobTimeout: int | None = None

The timeout in seconds for the job.

An action execution can have multiple jobs. This is the timeout for a single job, not the entire action execution.

field policyStatementsTemplate: str | None = None

The policy statement that specifies the permissions in the CodePipeline customer account that are needed to successfully run an action.

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.

field type: Literal['JobWorker', 'Lambda'] | None = None

The executor type used by this action type.

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.codepipeline.ActionTypeIdentifier[source]

Bases: Boto3Model

Specifies the category, owner, provider, and version of the action type.

Show JSON schema
{
   "title": "ActionTypeIdentifier",
   "description": "Specifies the category, owner, provider, and version of the action type.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "category": {
         "enum": [
            "Source",
            "Build",
            "Deploy",
            "Test",
            "Invoke",
            "Approval",
            "Compute"
         ],
         "title": "Category",
         "type": "string"
      },
      "owner": {
         "title": "Owner",
         "type": "string"
      },
      "provider": {
         "title": "Provider",
         "type": "string"
      },
      "version": {
         "title": "Version",
         "type": "string"
      }
   },
   "required": [
      "category",
      "owner",
      "provider",
      "version"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field category: Literal['Source', 'Build', 'Deploy', 'Test', 'Invoke', 'Approval', 'Compute'] [Required]

Defines what kind of action can be taken in the stage, one of the following:

field owner: str [Required]

The creator of the action type being called: AWS or ThirdParty.

field provider: str [Required]

The provider of the action type being called.

The provider name is supplied when the action type is created.

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.

field version: str [Required]

A string that describes the action type version.

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.codepipeline.ActionTypePermissions[source]

Bases: Boto3Model

Details identifying the users with permissions to use the action type.

Show JSON schema
{
   "title": "ActionTypePermissions",
   "description": "Details identifying the users with permissions to use the action type.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "allowedAccounts": {
         "items": {
            "type": "string"
         },
         "title": "Allowedaccounts",
         "type": "array"
      }
   },
   "required": [
      "allowedAccounts"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field allowedAccounts: builtins.list[str] [Required]

A list of Amazon Web Services account IDs with access to use the action type in their pipelines.

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.codepipeline.ActionTypeProperty[source]

Bases: Boto3Model

Represents information about each property specified in the action configuration, such as the description and key name that display for the customer using the action type.

Show JSON schema
{
   "title": "ActionTypeProperty",
   "description": "Represents information about each property specified in the action configuration,\nsuch as the description and key name that display for the customer using the action\ntype.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "optional": {
         "title": "Optional",
         "type": "boolean"
      },
      "key": {
         "title": "Key",
         "type": "boolean"
      },
      "noEcho": {
         "title": "Noecho",
         "type": "boolean"
      },
      "queryable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Queryable"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      }
   },
   "required": [
      "name",
      "optional",
      "key",
      "noEcho"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field description: str | None = None

The description of the property that is displayed to users.

field key: bool [Required]

Whether the configuration property is a key.

field name: str [Required]

The property name that is displayed to users.

field noEcho: bool [Required]

Whether to omit the field value entered by the customer in the log.

If true, the value is not saved in CloudTrail logs for the action execution.

field optional: bool [Required]

Whether the configuration property is an optional value.

field queryable: bool | None = None

Indicates that the property is used with polling.

An action type can have up to one queryable property. If it has one, that property must be both required and not secret.

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.codepipeline.ActionTypeUrls[source]

Bases: Boto3Model

Returns information about URLs for web pages that display to customers as links on the pipeline view, such as an external configuration page for the action type.

Show JSON schema
{
   "title": "ActionTypeUrls",
   "description": "Returns information about URLs for web pages that display to customers as links on\nthe pipeline view, such as an external configuration page for the action type.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "configurationUrl": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Configurationurl"
      },
      "entityUrlTemplate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Entityurltemplate"
      },
      "executionUrlTemplate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executionurltemplate"
      },
      "revisionUrlTemplate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionurltemplate"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field configurationUrl: str | None = None

The URL returned to the CodePipeline console that contains a link to the page where customers can configure the external action.

field entityUrlTemplate: str | None = None

The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as a status page.

This link is provided as part of the action display in the pipeline.

field executionUrlTemplate: str | None = None

The link to an execution page for the action type in progress.

For example, for a CodeDeploy action, this link is shown on the pipeline view page in the CodePipeline console, and it links to a CodeDeploy status page.

field revisionUrlTemplate: str | None = None

The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.

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.codepipeline.CreateCustomActionTypeOutput[source]

Bases: TagsDictMixin, Boto3Model

Represents the output of a CreateCustomActionType operation.

Show JSON schema
{
   "title": "CreateCustomActionTypeOutput",
   "description": "Represents the output of a ``CreateCustomActionType`` operation.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "tags": {
         "items": {
            "$ref": "#/$defs/Tag"
         },
         "title": "Tags",
         "type": "array"
      },
      "actionType": {
         "$ref": "#/$defs/ActionType"
      }
   },
   "$defs": {
      "ActionConfigurationProperty": {
         "description": "Represents information about an action configuration property.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "required": {
               "title": "Required",
               "type": "boolean"
            },
            "key": {
               "title": "Key",
               "type": "boolean"
            },
            "secret": {
               "title": "Secret",
               "type": "boolean"
            },
            "queryable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Queryable"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "String",
                        "Number",
                        "Boolean"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "required",
            "key",
            "secret"
         ],
         "title": "ActionConfigurationProperty",
         "type": "object"
      },
      "ActionType": {
         "description": "Returns information about the details of an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "id": {
               "$ref": "#/$defs/ActionTypeId"
            },
            "settings": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ActionTypeSettings"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "actionConfigurationProperties": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ActionConfigurationProperty"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Actionconfigurationproperties"
            },
            "inputArtifactDetails": {
               "$ref": "#/$defs/ArtifactDetails"
            },
            "outputArtifactDetails": {
               "$ref": "#/$defs/ArtifactDetails"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "executor": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executor"
            },
            "permissions": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Permissions"
            },
            "properties": {
               "anyOf": [
                  {
                     "items": {
                        "additionalProperties": true,
                        "type": "object"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Properties"
            },
            "urls": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Urls"
            }
         },
         "required": [
            "id",
            "inputArtifactDetails",
            "outputArtifactDetails"
         ],
         "title": "ActionType",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "ActionTypeSettings": {
         "description": "Returns information about the settings for an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "thirdPartyConfigurationUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Thirdpartyconfigurationurl"
            },
            "entityUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Entityurltemplate"
            },
            "executionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionurltemplate"
            },
            "revisionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurltemplate"
            }
         },
         "title": "ActionTypeSettings",
         "type": "object"
      },
      "ArtifactDetails": {
         "description": "Returns information about the details of an artifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "minimumCount": {
               "title": "Minimumcount",
               "type": "integer"
            },
            "maximumCount": {
               "title": "Maximumcount",
               "type": "integer"
            }
         },
         "required": [
            "minimumCount",
            "maximumCount"
         ],
         "title": "ArtifactDetails",
         "type": "object"
      },
      "Tag": {
         "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n  only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n  remember that other services may have restrictions on allowed characters.\n  Generally allowed characters are: letters, numbers, and spaces representable in\n  UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n  as a prefix for either keys or values as it is reserved for Amazon Web Services\n  use. You cannot edit or delete tag keys or values with this prefix. Tags with\n  this prefix do not count against your tags per resource limit.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Key": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Key"
            },
            "Value": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            }
         },
         "title": "Tag",
         "type": "object"
      }
   },
   "required": [
      "actionType"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Tags: builtins.list[Tag] [Optional] (alias 'tags')

Specifies the tags applied to the custom action.

field actionType: ActionType [Required]

Returns information about the details of an action 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.

tag_class

alias of Tag

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.

property tags: TagsDict

Get the tags for the model instance.

Returns:

The tags for the model instance.

pydantic model botocraft.services.codepipeline.CreatePipelineOutput[source]

Bases: TagsDictMixin, Boto3Model

Represents the output of a CreatePipeline action.

Show JSON schema
{
   "title": "CreatePipelineOutput",
   "description": "Represents the output of a ``CreatePipeline`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipeline": {
         "anyOf": [
            {
               "$ref": "#/$defs/Pipeline"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "tags": {
         "items": {
            "$ref": "#/$defs/Tag"
         },
         "title": "Tags",
         "type": "array"
      }
   },
   "$defs": {
      "ActionDeclaration": {
         "description": "Represents information about an action declaration.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "actionTypeId": {
               "$ref": "#/$defs/ActionTypeId"
            },
            "runOrder": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Runorder"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "outputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OutputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputartifacts"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "outputVariables": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputvariables"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "namespace": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Namespace"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            },
            "environmentVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/EnvironmentVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Environmentvariables"
            }
         },
         "required": [
            "name",
            "actionTypeId"
         ],
         "title": "ActionDeclaration",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "ArtifactStore": {
         "description": "The S3 bucket where artifacts for the pipeline are stored.\n\nYou must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create\na cross-region action in your pipeline, you must use ``artifactStores``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "type": {
               "const": "S3",
               "title": "Type",
               "type": "string"
            },
            "location": {
               "title": "Location",
               "type": "string"
            },
            "encryptionKey": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/EncryptionKey"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "type",
            "location"
         ],
         "title": "ArtifactStore",
         "type": "object"
      },
      "BeforeEntryConditions": {
         "description": "The conditions for making checks for entry to a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "BeforeEntryConditions",
         "type": "object"
      },
      "BlockerDeclaration": {
         "description": "Reserved for future use.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "const": "Schedule",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "name",
            "type"
         ],
         "title": "BlockerDeclaration",
         "type": "object"
      },
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "EncryptionKey": {
         "description": "Represents information about the key used to encrypt data in the artifact store,\nsuch as an Amazon Web Services Key Management Service (Key Management Service) key.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "const": "KMS",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "id",
            "type"
         ],
         "title": "EncryptionKey",
         "type": "object"
      },
      "EnvironmentVariable": {
         "description": "Information about an environment variable for a build project or a build.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "PLAINTEXT",
                        "PARAMETER_STORE",
                        "SECRETS_MANAGER"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "value"
         ],
         "title": "EnvironmentVariable",
         "type": "object"
      },
      "FailureConditions": {
         "description": "The configuration that specifies the result, such as rollback, to occur upon stage\nfailure.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-\nconditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "retryConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RetryConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "conditions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Condition"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Conditions"
            }
         },
         "title": "FailureConditions",
         "type": "object"
      },
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitConfiguration": {
         "description": "A type of trigger configuration for Git-based source actions.\n\nYou can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by\nthe ``CodeStarSourceConnection`` action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "sourceActionName": {
               "title": "Sourceactionname",
               "type": "string"
            },
            "push": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPushFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Push"
            },
            "pullRequest": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPullRequestFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pullrequest"
            }
         },
         "required": [
            "sourceActionName"
         ],
         "title": "GitConfiguration",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      },
      "GitPullRequestFilter": {
         "description": "The event criteria for the pull request trigger configuration, such as the lists of\nbranches or file paths to include and exclude.\n\nThe following are valid values for the events for this filter:\n\n* CLOSED\n* OPEN\n* UPDATED",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "events": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "OPEN",
                           "UPDATED",
                           "CLOSED"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Events"
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPullRequestFilter",
         "type": "object"
      },
      "GitPushFilter": {
         "description": "The event criteria that specify when a specified repository event will start the\npipeline for the specified trigger configuration, such as the lists of Git tags to\ninclude and exclude.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "tags": {
               "$ref": "#/$defs/GitTagFilterCriteria",
               "default": null
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPushFilter",
         "type": "object"
      },
      "GitTagFilterCriteria": {
         "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitTagFilterCriteria",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "OutputArtifact": {
         "description": "Represents information about the output of an action.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "files": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Files"
            }
         },
         "required": [
            "name"
         ],
         "title": "OutputArtifact",
         "type": "object"
      },
      "Pipeline": {
         "description": "Represents the structure of actions and stages to be performed in the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "default": null,
               "title": "Name",
               "type": "string"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "stages": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/StageDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Stages"
            },
            "artifactStore": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ArtifactStore"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "artifactStores": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "$ref": "#/$defs/ArtifactStore"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Artifactstores"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            },
            "executionMode": {
               "anyOf": [
                  {
                     "enum": [
                        "QUEUED",
                        "SUPERSEDED",
                        "PARALLEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionmode"
            },
            "pipelineType": {
               "anyOf": [
                  {
                     "enum": [
                        "V1",
                        "V2"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinetype"
            },
            "variables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/PipelineVariableDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Variables"
            },
            "triggers": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/PipelineTriggerDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Triggers"
            },
            "pipelineArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinearn"
            }
         },
         "title": "Pipeline",
         "type": "object"
      },
      "PipelineTriggerDeclaration": {
         "description": "Represents information about the specified trigger configuration, such as the filter\ncriteria and the source stage for the action that contains the trigger.\n\nThis is only supported for the ``CodeStarSourceConnection`` action type.\n\n\n\nWhen a trigger configuration is specified, default change detection for repository and branch commits is disabled.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "providerType": {
               "const": "CodeStarSourceConnection",
               "title": "Providertype",
               "type": "string"
            },
            "gitConfiguration": {
               "$ref": "#/$defs/GitConfiguration"
            }
         },
         "required": [
            "providerType",
            "gitConfiguration"
         ],
         "title": "PipelineTriggerDeclaration",
         "type": "object"
      },
      "PipelineVariableDeclaration": {
         "description": "A variable declared at the pipeline level.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "defaultValue": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Defaultvalue"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "required": [
            "name"
         ],
         "title": "PipelineVariableDeclaration",
         "type": "object"
      },
      "RetryConfiguration": {
         "description": "The retry configuration specifies automatic retry for a failed stage, along with the\nconfigured retry mode.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "retryMode": {
               "anyOf": [
                  {
                     "enum": [
                        "FAILED_ACTIONS",
                        "ALL_ACTIONS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Retrymode"
            }
         },
         "title": "RetryConfiguration",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      },
      "StageDeclaration": {
         "description": "Represents information about a stage and its definition.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "blockers": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/BlockerDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Blockers"
            },
            "actions": {
               "items": {
                  "$ref": "#/$defs/ActionDeclaration"
               },
               "title": "Actions",
               "type": "array"
            },
            "onFailure": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FailureConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "onSuccess": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SuccessConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "beforeEntry": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BeforeEntryConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "name",
            "actions"
         ],
         "title": "StageDeclaration",
         "type": "object"
      },
      "SuccessConditions": {
         "description": "The conditions for making checks that, if met, succeed a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "SuccessConditions",
         "type": "object"
      },
      "Tag": {
         "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n  only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n  remember that other services may have restrictions on allowed characters.\n  Generally allowed characters are: letters, numbers, and spaces representable in\n  UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n  as a prefix for either keys or values as it is reserved for Amazon Web Services\n  use. You cannot edit or delete tag keys or values with this prefix. Tags with\n  this prefix do not count against your tags per resource limit.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "Key": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Key"
            },
            "Value": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            }
         },
         "title": "Tag",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field Tags: builtins.list[Tag] [Optional] (alias 'tags')

Specifies the tags applied to the pipeline.

field pipeline: Pipeline | None = None

The created pipeline definition.

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.

tag_class

alias of Tag

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.

property tags: TagsDict

Get the tags for the model instance.

Returns:

The tags for the model instance.

pydantic model botocraft.services.codepipeline.ExecutorConfiguration[source]

Bases: Boto3Model

The action engine, or executor, related to the supported integration model used to create and update the action type.

The available executor types are Lambda and JobWorker.

Show JSON schema
{
   "title": "ExecutorConfiguration",
   "description": "The action engine, or executor, related to the supported integration model used to\ncreate and update the action type.\n\nThe available executor types are ``Lambda`` and ``JobWorker``.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "lambdaExecutorConfiguration": {
         "anyOf": [
            {
               "$ref": "#/$defs/LambdaExecutorConfiguration"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "jobWorkerExecutorConfiguration": {
         "anyOf": [
            {
               "$ref": "#/$defs/JobWorkerExecutorConfiguration"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "JobWorkerExecutorConfiguration": {
         "description": "Details about the polling configuration for the ``JobWorker`` action engine, or\nexecutor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "pollingAccounts": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingaccounts"
            },
            "pollingServicePrincipals": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingserviceprincipals"
            }
         },
         "title": "JobWorkerExecutorConfiguration",
         "type": "object"
      },
      "LambdaExecutorConfiguration": {
         "description": "Details about the configuration for the ``Lambda`` action engine, or executor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "lambdaFunctionArn": {
               "title": "Lambdafunctionarn",
               "type": "string"
            }
         },
         "required": [
            "lambdaFunctionArn"
         ],
         "title": "LambdaExecutorConfiguration",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field jobWorkerExecutorConfiguration: JobWorkerExecutorConfiguration | None = None

Details about the JobWorker executor of the action type.

field lambdaExecutorConfiguration: LambdaExecutorConfiguration | None = None

Details about the Lambda executor of the action 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.codepipeline.GetActionTypeOutput[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "GetActionTypeOutput",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "actionType": {
         "anyOf": [
            {
               "$ref": "#/$defs/ActionTypeDeclaration"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ActionTypeArtifactDetails": {
         "description": "Information about parameters for artifacts associated with the action type, such as\nthe minimum and maximum artifacts allowed.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "minimumCount": {
               "title": "Minimumcount",
               "type": "integer"
            },
            "maximumCount": {
               "title": "Maximumcount",
               "type": "integer"
            }
         },
         "required": [
            "minimumCount",
            "maximumCount"
         ],
         "title": "ActionTypeArtifactDetails",
         "type": "object"
      },
      "ActionTypeDeclaration": {
         "description": "The parameters for the action type definition that are provided when the action type\nis created or updated.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "executor": {
               "$ref": "#/$defs/ActionTypeExecutor"
            },
            "id": {
               "$ref": "#/$defs/ActionTypeIdentifier"
            },
            "inputArtifactDetails": {
               "$ref": "#/$defs/ActionTypeArtifactDetails"
            },
            "outputArtifactDetails": {
               "$ref": "#/$defs/ActionTypeArtifactDetails"
            },
            "permissions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ActionTypePermissions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "properties": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ActionTypeProperty"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Properties"
            },
            "urls": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ActionTypeUrls"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "executor",
            "id",
            "inputArtifactDetails",
            "outputArtifactDetails"
         ],
         "title": "ActionTypeDeclaration",
         "type": "object"
      },
      "ActionTypeExecutor": {
         "description": "The action engine, or executor, for an action type created for a provider, where the\naction is to be used by customers of the provider.\n\nThe action engine is associated with the model used to create and update the action,\nsuch as the Lambda integration model.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "JobWorker",
                        "Lambda"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            },
            "configuration": {
               "$ref": "#/$defs/ExecutorConfiguration"
            },
            "policyStatementsTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Policystatementstemplate"
            },
            "jobTimeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Jobtimeout"
            }
         },
         "required": [
            "configuration"
         ],
         "title": "ActionTypeExecutor",
         "type": "object"
      },
      "ActionTypeIdentifier": {
         "description": "Specifies the category, owner, provider, and version of the action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeIdentifier",
         "type": "object"
      },
      "ActionTypePermissions": {
         "description": "Details identifying the users with permissions to use the action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "allowedAccounts": {
               "items": {
                  "type": "string"
               },
               "title": "Allowedaccounts",
               "type": "array"
            }
         },
         "required": [
            "allowedAccounts"
         ],
         "title": "ActionTypePermissions",
         "type": "object"
      },
      "ActionTypeProperty": {
         "description": "Represents information about each property specified in the action configuration,\nsuch as the description and key name that display for the customer using the action\ntype.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "optional": {
               "title": "Optional",
               "type": "boolean"
            },
            "key": {
               "title": "Key",
               "type": "boolean"
            },
            "noEcho": {
               "title": "Noecho",
               "type": "boolean"
            },
            "queryable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Queryable"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "required": [
            "name",
            "optional",
            "key",
            "noEcho"
         ],
         "title": "ActionTypeProperty",
         "type": "object"
      },
      "ActionTypeUrls": {
         "description": "Returns information about URLs for web pages that display to customers as links on\nthe pipeline view, such as an external configuration page for the action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "configurationUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Configurationurl"
            },
            "entityUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Entityurltemplate"
            },
            "executionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionurltemplate"
            },
            "revisionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurltemplate"
            }
         },
         "title": "ActionTypeUrls",
         "type": "object"
      },
      "ExecutorConfiguration": {
         "description": "The action engine, or executor, related to the supported integration model used to\ncreate and update the action type.\n\nThe available executor types are ``Lambda`` and ``JobWorker``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "lambdaExecutorConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LambdaExecutorConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "jobWorkerExecutorConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/JobWorkerExecutorConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ExecutorConfiguration",
         "type": "object"
      },
      "JobWorkerExecutorConfiguration": {
         "description": "Details about the polling configuration for the ``JobWorker`` action engine, or\nexecutor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "pollingAccounts": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingaccounts"
            },
            "pollingServicePrincipals": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pollingserviceprincipals"
            }
         },
         "title": "JobWorkerExecutorConfiguration",
         "type": "object"
      },
      "LambdaExecutorConfiguration": {
         "description": "Details about the configuration for the ``Lambda`` action engine, or executor.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "lambdaFunctionArn": {
               "title": "Lambdafunctionarn",
               "type": "string"
            }
         },
         "required": [
            "lambdaFunctionArn"
         ],
         "title": "LambdaExecutorConfiguration",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field actionType: ActionTypeDeclaration | None = None

The action type information for the requested action type, such as the action type ID.

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.codepipeline.GetPipelineExecutionOutput[source]

Bases: Boto3Model

Represents the output of a GetPipelineExecution action.

Show JSON schema
{
   "title": "GetPipelineExecutionOutput",
   "description": "Represents the output of a ``GetPipelineExecution`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelineExecution": {
         "anyOf": [
            {
               "$ref": "#/$defs/PipelineExecution"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ArtifactRevision": {
         "description": "Represents revision details of an artifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "revisionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionid"
            },
            "revisionChangeIdentifier": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionchangeidentifier"
            },
            "revisionSummary": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionsummary"
            },
            "created": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Created"
            },
            "revisionUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurl"
            }
         },
         "title": "ArtifactRevision",
         "type": "object"
      },
      "ExecutionTrigger": {
         "description": "The interaction or event that started a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "triggerType": {
               "anyOf": [
                  {
                     "enum": [
                        "CreatePipeline",
                        "StartPipelineExecution",
                        "PollForSourceChanges",
                        "Webhook",
                        "CloudWatchEvent",
                        "PutActionRevision",
                        "WebhookV2",
                        "ManualRollback",
                        "AutomatedRollback"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggertype"
            },
            "triggerDetail": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggerdetail"
            }
         },
         "title": "ExecutionTrigger",
         "type": "object"
      },
      "PipelineExecution": {
         "additionalProperties": true,
         "description": "Represents information about an execution of a pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "pipelineName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinename"
            },
            "pipelineVersion": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelineversion"
            },
            "pipelineExecutionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelineexecutionid"
            },
            "status": {
               "anyOf": [
                  {
                     "enum": [
                        "Cancelled",
                        "InProgress",
                        "Stopped",
                        "Stopping",
                        "Succeeded",
                        "Superseded",
                        "Failed"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Status"
            },
            "statusSummary": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Statussummary"
            },
            "artifactRevisions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ArtifactRevision"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Artifactrevisions"
            },
            "variables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ResolvedPipelineVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Variables"
            },
            "trigger": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ExecutionTrigger"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "executionMode": {
               "anyOf": [
                  {
                     "enum": [
                        "QUEUED",
                        "SUPERSEDED",
                        "PARALLEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionmode"
            },
            "executionType": {
               "anyOf": [
                  {
                     "enum": [
                        "STANDARD",
                        "ROLLBACK"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executiontype"
            },
            "rollbackMetadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PipelineRollbackMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "PipelineExecution",
         "type": "object"
      },
      "PipelineRollbackMetadata": {
         "description": "The metadata for the stage execution to be rolled back.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "rollbackTargetPipelineExecutionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rollbacktargetpipelineexecutionid"
            }
         },
         "title": "PipelineRollbackMetadata",
         "type": "object"
      },
      "ResolvedPipelineVariable": {
         "description": "A pipeline-level variable used for a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "resolvedValue": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Resolvedvalue"
            }
         },
         "title": "ResolvedPipelineVariable",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field pipelineExecution: PipelineExecution | None = None

Represents information about the execution of a pipeline.

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.codepipeline.GetPipelineOutput[source]

Bases: Boto3Model

Represents the output of a GetPipeline action.

Show JSON schema
{
   "title": "GetPipelineOutput",
   "description": "Represents the output of a ``GetPipeline`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipeline": {
         "anyOf": [
            {
               "$ref": "#/$defs/Pipeline"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "metadata": {
         "anyOf": [
            {
               "$ref": "#/$defs/PipelineMetadata"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ActionDeclaration": {
         "description": "Represents information about an action declaration.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "actionTypeId": {
               "$ref": "#/$defs/ActionTypeId"
            },
            "runOrder": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Runorder"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "outputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OutputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputartifacts"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "outputVariables": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputvariables"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "namespace": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Namespace"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            },
            "environmentVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/EnvironmentVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Environmentvariables"
            }
         },
         "required": [
            "name",
            "actionTypeId"
         ],
         "title": "ActionDeclaration",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "ArtifactStore": {
         "description": "The S3 bucket where artifacts for the pipeline are stored.\n\nYou must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create\na cross-region action in your pipeline, you must use ``artifactStores``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "type": {
               "const": "S3",
               "title": "Type",
               "type": "string"
            },
            "location": {
               "title": "Location",
               "type": "string"
            },
            "encryptionKey": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/EncryptionKey"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "type",
            "location"
         ],
         "title": "ArtifactStore",
         "type": "object"
      },
      "BeforeEntryConditions": {
         "description": "The conditions for making checks for entry to a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "BeforeEntryConditions",
         "type": "object"
      },
      "BlockerDeclaration": {
         "description": "Reserved for future use.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "const": "Schedule",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "name",
            "type"
         ],
         "title": "BlockerDeclaration",
         "type": "object"
      },
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "EncryptionKey": {
         "description": "Represents information about the key used to encrypt data in the artifact store,\nsuch as an Amazon Web Services Key Management Service (Key Management Service) key.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "const": "KMS",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "id",
            "type"
         ],
         "title": "EncryptionKey",
         "type": "object"
      },
      "EnvironmentVariable": {
         "description": "Information about an environment variable for a build project or a build.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "PLAINTEXT",
                        "PARAMETER_STORE",
                        "SECRETS_MANAGER"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "value"
         ],
         "title": "EnvironmentVariable",
         "type": "object"
      },
      "FailureConditions": {
         "description": "The configuration that specifies the result, such as rollback, to occur upon stage\nfailure.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-\nconditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "retryConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RetryConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "conditions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Condition"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Conditions"
            }
         },
         "title": "FailureConditions",
         "type": "object"
      },
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitConfiguration": {
         "description": "A type of trigger configuration for Git-based source actions.\n\nYou can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by\nthe ``CodeStarSourceConnection`` action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "sourceActionName": {
               "title": "Sourceactionname",
               "type": "string"
            },
            "push": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPushFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Push"
            },
            "pullRequest": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPullRequestFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pullrequest"
            }
         },
         "required": [
            "sourceActionName"
         ],
         "title": "GitConfiguration",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      },
      "GitPullRequestFilter": {
         "description": "The event criteria for the pull request trigger configuration, such as the lists of\nbranches or file paths to include and exclude.\n\nThe following are valid values for the events for this filter:\n\n* CLOSED\n* OPEN\n* UPDATED",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "events": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "OPEN",
                           "UPDATED",
                           "CLOSED"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Events"
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPullRequestFilter",
         "type": "object"
      },
      "GitPushFilter": {
         "description": "The event criteria that specify when a specified repository event will start the\npipeline for the specified trigger configuration, such as the lists of Git tags to\ninclude and exclude.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "tags": {
               "$ref": "#/$defs/GitTagFilterCriteria",
               "default": null
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPushFilter",
         "type": "object"
      },
      "GitTagFilterCriteria": {
         "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitTagFilterCriteria",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "OutputArtifact": {
         "description": "Represents information about the output of an action.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "files": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Files"
            }
         },
         "required": [
            "name"
         ],
         "title": "OutputArtifact",
         "type": "object"
      },
      "Pipeline": {
         "description": "Represents the structure of actions and stages to be performed in the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "default": null,
               "title": "Name",
               "type": "string"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "stages": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/StageDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Stages"
            },
            "artifactStore": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ArtifactStore"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "artifactStores": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "$ref": "#/$defs/ArtifactStore"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Artifactstores"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            },
            "executionMode": {
               "anyOf": [
                  {
                     "enum": [
                        "QUEUED",
                        "SUPERSEDED",
                        "PARALLEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionmode"
            },
            "pipelineType": {
               "anyOf": [
                  {
                     "enum": [
                        "V1",
                        "V2"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinetype"
            },
            "variables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/PipelineVariableDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Variables"
            },
            "triggers": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/PipelineTriggerDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Triggers"
            },
            "pipelineArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinearn"
            }
         },
         "title": "Pipeline",
         "type": "object"
      },
      "PipelineMetadata": {
         "description": "Information about a pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "pipelineArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinearn"
            },
            "created": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Created"
            },
            "updated": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Updated"
            },
            "pollingDisabledAt": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pollingdisabledat"
            }
         },
         "title": "PipelineMetadata",
         "type": "object"
      },
      "PipelineTriggerDeclaration": {
         "description": "Represents information about the specified trigger configuration, such as the filter\ncriteria and the source stage for the action that contains the trigger.\n\nThis is only supported for the ``CodeStarSourceConnection`` action type.\n\n\n\nWhen a trigger configuration is specified, default change detection for repository and branch commits is disabled.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "providerType": {
               "const": "CodeStarSourceConnection",
               "title": "Providertype",
               "type": "string"
            },
            "gitConfiguration": {
               "$ref": "#/$defs/GitConfiguration"
            }
         },
         "required": [
            "providerType",
            "gitConfiguration"
         ],
         "title": "PipelineTriggerDeclaration",
         "type": "object"
      },
      "PipelineVariableDeclaration": {
         "description": "A variable declared at the pipeline level.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "defaultValue": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Defaultvalue"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "required": [
            "name"
         ],
         "title": "PipelineVariableDeclaration",
         "type": "object"
      },
      "RetryConfiguration": {
         "description": "The retry configuration specifies automatic retry for a failed stage, along with the\nconfigured retry mode.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "retryMode": {
               "anyOf": [
                  {
                     "enum": [
                        "FAILED_ACTIONS",
                        "ALL_ACTIONS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Retrymode"
            }
         },
         "title": "RetryConfiguration",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      },
      "StageDeclaration": {
         "description": "Represents information about a stage and its definition.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "blockers": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/BlockerDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Blockers"
            },
            "actions": {
               "items": {
                  "$ref": "#/$defs/ActionDeclaration"
               },
               "title": "Actions",
               "type": "array"
            },
            "onFailure": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FailureConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "onSuccess": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SuccessConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "beforeEntry": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BeforeEntryConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "name",
            "actions"
         ],
         "title": "StageDeclaration",
         "type": "object"
      },
      "SuccessConditions": {
         "description": "The conditions for making checks that, if met, succeed a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "SuccessConditions",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field metadata: PipelineMetadata | None = None

Metadata returned for the requested pipeline.

field pipeline: Pipeline | None = None

The requested pipeline definition.

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.codepipeline.JobWorkerExecutorConfiguration[source]

Bases: Boto3Model

Details about the polling configuration for the JobWorker action engine, or executor.

Show JSON schema
{
   "title": "JobWorkerExecutorConfiguration",
   "description": "Details about the polling configuration for the ``JobWorker`` action engine, or\nexecutor.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pollingAccounts": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Pollingaccounts"
      },
      "pollingServicePrincipals": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Pollingserviceprincipals"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field pollingAccounts: builtins.list[str] | None [Optional]

The accounts in which the job worker is configured and might poll for jobs as part of the action execution.

field pollingServicePrincipals: builtins.list[str] | None [Optional]

The service Principals in which the job worker is configured and might poll for jobs as part of the action execution.

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.codepipeline.LambdaExecutorConfiguration[source]

Bases: Boto3Model

Details about the configuration for the Lambda action engine, or executor.

Show JSON schema
{
   "title": "LambdaExecutorConfiguration",
   "description": "Details about the configuration for the ``Lambda`` action engine, or executor.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "lambdaFunctionArn": {
         "title": "Lambdafunctionarn",
         "type": "string"
      }
   },
   "required": [
      "lambdaFunctionArn"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field lambdaFunctionArn: str [Required]

The ARN of the Lambda function used by the action engine.

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.codepipeline.ListActionTypesOutput[source]

Bases: Boto3Model

Represents the output of a ListActionTypes action.

Show JSON schema
{
   "title": "ListActionTypesOutput",
   "description": "Represents the output of a ``ListActionTypes`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "actionTypes": {
         "items": {
            "$ref": "#/$defs/ActionType"
         },
         "title": "Actiontypes",
         "type": "array"
      },
      "nextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      }
   },
   "$defs": {
      "ActionConfigurationProperty": {
         "description": "Represents information about an action configuration property.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "required": {
               "title": "Required",
               "type": "boolean"
            },
            "key": {
               "title": "Key",
               "type": "boolean"
            },
            "secret": {
               "title": "Secret",
               "type": "boolean"
            },
            "queryable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Queryable"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "String",
                        "Number",
                        "Boolean"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "required",
            "key",
            "secret"
         ],
         "title": "ActionConfigurationProperty",
         "type": "object"
      },
      "ActionType": {
         "description": "Returns information about the details of an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "id": {
               "$ref": "#/$defs/ActionTypeId"
            },
            "settings": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ActionTypeSettings"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "actionConfigurationProperties": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ActionConfigurationProperty"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Actionconfigurationproperties"
            },
            "inputArtifactDetails": {
               "$ref": "#/$defs/ArtifactDetails"
            },
            "outputArtifactDetails": {
               "$ref": "#/$defs/ArtifactDetails"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "executor": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executor"
            },
            "permissions": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Permissions"
            },
            "properties": {
               "anyOf": [
                  {
                     "items": {
                        "additionalProperties": true,
                        "type": "object"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Properties"
            },
            "urls": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Urls"
            }
         },
         "required": [
            "id",
            "inputArtifactDetails",
            "outputArtifactDetails"
         ],
         "title": "ActionType",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "ActionTypeSettings": {
         "description": "Returns information about the settings for an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "thirdPartyConfigurationUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Thirdpartyconfigurationurl"
            },
            "entityUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Entityurltemplate"
            },
            "executionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionurltemplate"
            },
            "revisionUrlTemplate": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurltemplate"
            }
         },
         "title": "ActionTypeSettings",
         "type": "object"
      },
      "ArtifactDetails": {
         "description": "Returns information about the details of an artifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "minimumCount": {
               "title": "Minimumcount",
               "type": "integer"
            },
            "maximumCount": {
               "title": "Maximumcount",
               "type": "integer"
            }
         },
         "required": [
            "minimumCount",
            "maximumCount"
         ],
         "title": "ArtifactDetails",
         "type": "object"
      }
   },
   "required": [
      "actionTypes"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field actionTypes: builtins.list[ActionType] [Required]

Provides details of the action types.

field nextToken: str | None = None

If the amount of returned information is significantly large, an identifier is also returned.

It can be used in a subsequent list action types call to return the next set of action types in the list.

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.codepipeline.ListPipelineExecutionsOutput[source]

Bases: Boto3Model

Represents the output of a ListPipelineExecutions action.

Show JSON schema
{
   "title": "ListPipelineExecutionsOutput",
   "description": "Represents the output of a ``ListPipelineExecutions`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelineExecutionSummaries": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/PipelineExecutionSummary"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Pipelineexecutionsummaries"
      },
      "nextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      }
   },
   "$defs": {
      "ExecutionTrigger": {
         "description": "The interaction or event that started a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "triggerType": {
               "anyOf": [
                  {
                     "enum": [
                        "CreatePipeline",
                        "StartPipelineExecution",
                        "PollForSourceChanges",
                        "Webhook",
                        "CloudWatchEvent",
                        "PutActionRevision",
                        "WebhookV2",
                        "ManualRollback",
                        "AutomatedRollback"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggertype"
            },
            "triggerDetail": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggerdetail"
            }
         },
         "title": "ExecutionTrigger",
         "type": "object"
      },
      "PipelineExecutionSummary": {
         "description": "Summary information about a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "pipelineExecutionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelineexecutionid"
            },
            "status": {
               "anyOf": [
                  {
                     "enum": [
                        "Cancelled",
                        "InProgress",
                        "Stopped",
                        "Stopping",
                        "Succeeded",
                        "Superseded",
                        "Failed"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Status"
            },
            "statusSummary": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Statussummary"
            },
            "startTime": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Starttime"
            },
            "lastUpdateTime": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Lastupdatetime"
            },
            "sourceRevisions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SourceRevision"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Sourcerevisions"
            },
            "trigger": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ExecutionTrigger"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "stopTrigger": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StopExecutionTrigger"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "executionMode": {
               "anyOf": [
                  {
                     "enum": [
                        "QUEUED",
                        "SUPERSEDED",
                        "PARALLEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionmode"
            },
            "executionType": {
               "anyOf": [
                  {
                     "enum": [
                        "STANDARD",
                        "ROLLBACK"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executiontype"
            },
            "rollbackMetadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PipelineRollbackMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "PipelineExecutionSummary",
         "type": "object"
      },
      "PipelineRollbackMetadata": {
         "description": "The metadata for the stage execution to be rolled back.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "rollbackTargetPipelineExecutionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rollbacktargetpipelineexecutionid"
            }
         },
         "title": "PipelineRollbackMetadata",
         "type": "object"
      },
      "SourceRevision": {
         "description": "Information about the version (or revision) of a source artifact that initiated a\npipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "actionName": {
               "title": "Actionname",
               "type": "string"
            },
            "revisionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionid"
            },
            "revisionSummary": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionsummary"
            },
            "revisionUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurl"
            }
         },
         "required": [
            "actionName"
         ],
         "title": "SourceRevision",
         "type": "object"
      },
      "StopExecutionTrigger": {
         "description": "The interaction that stopped a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "reason": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Reason"
            }
         },
         "title": "StopExecutionTrigger",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field nextToken: str | None = None

A token that can be used in the next ListPipelineExecutions call.

To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

field pipelineExecutionSummaries: builtins.list[PipelineExecutionSummary] | None [Optional]

A list of executions in the history of a pipeline.

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.codepipeline.ListPipelinesOutput[source]

Bases: Boto3Model

Represents the output of a ListPipelines action.

Show JSON schema
{
   "title": "ListPipelinesOutput",
   "description": "Represents the output of a ``ListPipelines`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelines": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/PipelineSummary"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Pipelines"
      },
      "nextToken": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Nexttoken"
      }
   },
   "$defs": {
      "PipelineSummary": {
         "description": "Returns a summary of a pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            },
            "pipelineType": {
               "anyOf": [
                  {
                     "enum": [
                        "V1",
                        "V2"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinetype"
            },
            "executionMode": {
               "anyOf": [
                  {
                     "enum": [
                        "QUEUED",
                        "SUPERSEDED",
                        "PARALLEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionmode"
            },
            "created": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Created"
            },
            "updated": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Updated"
            }
         },
         "title": "PipelineSummary",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field nextToken: str | None = None

If the amount of returned information is significantly large, an identifier is also returned.

It can be used in a subsequent list pipelines call to return the next set of pipelines in the list.

field pipelines: builtins.list[PipelineSummary] | None [Optional]

The list of pipelines.

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.codepipeline.PipelineExecutionFilter[source]

Bases: Boto3Model

The pipeline execution to filter on.

Show JSON schema
{
   "title": "PipelineExecutionFilter",
   "description": "The pipeline execution to filter on.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "succeededInStage": {
         "anyOf": [
            {
               "$ref": "#/$defs/SucceededInStageFilter"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "SucceededInStageFilter": {
         "description": "Filter for pipeline executions that have successfully completed the stage in the\ncurrent pipeline version.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "stageName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Stagename"
            }
         },
         "title": "SucceededInStageFilter",
         "type": "object"
      }
   }
}

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.

field succeededInStage: SucceededInStageFilter | None = None

Filter for pipeline executions where the stage was successful in the current pipeline version.

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.codepipeline.PipelineExecutionSummary[source]

Bases: Boto3Model

Summary information about a pipeline execution.

Show JSON schema
{
   "title": "PipelineExecutionSummary",
   "description": "Summary information about a pipeline execution.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelineExecutionId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelineexecutionid"
      },
      "status": {
         "anyOf": [
            {
               "enum": [
                  "Cancelled",
                  "InProgress",
                  "Stopped",
                  "Stopping",
                  "Succeeded",
                  "Superseded",
                  "Failed"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Status"
      },
      "statusSummary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Statussummary"
      },
      "startTime": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Starttime"
      },
      "lastUpdateTime": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Lastupdatetime"
      },
      "sourceRevisions": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SourceRevision"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Sourcerevisions"
      },
      "trigger": {
         "anyOf": [
            {
               "$ref": "#/$defs/ExecutionTrigger"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "stopTrigger": {
         "anyOf": [
            {
               "$ref": "#/$defs/StopExecutionTrigger"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "executionMode": {
         "anyOf": [
            {
               "enum": [
                  "QUEUED",
                  "SUPERSEDED",
                  "PARALLEL"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executionmode"
      },
      "executionType": {
         "anyOf": [
            {
               "enum": [
                  "STANDARD",
                  "ROLLBACK"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executiontype"
      },
      "rollbackMetadata": {
         "anyOf": [
            {
               "$ref": "#/$defs/PipelineRollbackMetadata"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ExecutionTrigger": {
         "description": "The interaction or event that started a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "triggerType": {
               "anyOf": [
                  {
                     "enum": [
                        "CreatePipeline",
                        "StartPipelineExecution",
                        "PollForSourceChanges",
                        "Webhook",
                        "CloudWatchEvent",
                        "PutActionRevision",
                        "WebhookV2",
                        "ManualRollback",
                        "AutomatedRollback"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggertype"
            },
            "triggerDetail": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Triggerdetail"
            }
         },
         "title": "ExecutionTrigger",
         "type": "object"
      },
      "PipelineRollbackMetadata": {
         "description": "The metadata for the stage execution to be rolled back.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "rollbackTargetPipelineExecutionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rollbacktargetpipelineexecutionid"
            }
         },
         "title": "PipelineRollbackMetadata",
         "type": "object"
      },
      "SourceRevision": {
         "description": "Information about the version (or revision) of a source artifact that initiated a\npipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "actionName": {
               "title": "Actionname",
               "type": "string"
            },
            "revisionId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionid"
            },
            "revisionSummary": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionsummary"
            },
            "revisionUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Revisionurl"
            }
         },
         "required": [
            "actionName"
         ],
         "title": "SourceRevision",
         "type": "object"
      },
      "StopExecutionTrigger": {
         "description": "The interaction that stopped a pipeline execution.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "reason": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Reason"
            }
         },
         "title": "StopExecutionTrigger",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field executionMode: Literal['QUEUED', 'SUPERSEDED', 'PARALLEL'] | None = None

The method that the pipeline will use to handle multiple executions.

The default mode is SUPERSEDED.

field executionType: Literal['STANDARD', 'ROLLBACK'] | None = None

Type of the pipeline execution.

field lastUpdateTime: datetime | None = None

The date and time of the last change to the pipeline execution, in timestamp format.

field pipelineExecutionId: str | None = None

The ID of the pipeline execution.

field rollbackMetadata: PipelineRollbackMetadata | None = None

The metadata for the stage execution to be rolled back.

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.

field sourceRevisions: builtins.list[SourceRevision] | None [Optional]

A list of the source artifact revisions that initiated a pipeline execution.

field startTime: datetime | None = None

The date and time when the pipeline execution began, in timestamp format.

field status: Literal['Cancelled', 'InProgress', 'Stopped', 'Stopping', 'Succeeded', 'Superseded', 'Failed'] | None = None

The status of the pipeline execution.

field statusSummary: str | None = None

Status summary for the pipeline.

field stopTrigger: StopExecutionTrigger | None = None

The interaction that stopped a pipeline execution.

field trigger: ExecutionTrigger | None = None

The interaction or event that started a pipeline execution, such as automated change detection or a StartPipelineExecution API call.

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.codepipeline.PipelineMetadata[source]

Bases: Boto3Model

Information about a pipeline.

Show JSON schema
{
   "title": "PipelineMetadata",
   "description": "Information about a pipeline.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelineArn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelinearn"
      },
      "created": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Created"
      },
      "updated": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Updated"
      },
      "pollingDisabledAt": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pollingdisabledat"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field created: datetime | None = None

The date and time the pipeline was created, in timestamp format.

field pipelineArn: str | None = None

The Amazon Resource Name (ARN) of the pipeline.

field pollingDisabledAt: datetime | None = None

The date and time that polling for source changes (periodic checks) was stopped for the pipeline, in timestamp format.

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.

field updated: datetime | None = None

The date and time the pipeline was last updated, in timestamp format.

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.codepipeline.PipelineSummary[source]

Bases: Boto3Model

Returns a summary of a pipeline.

Show JSON schema
{
   "title": "PipelineSummary",
   "description": "Returns a summary of a pipeline.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "version": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Version"
      },
      "pipelineType": {
         "anyOf": [
            {
               "enum": [
                  "V1",
                  "V2"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelinetype"
      },
      "executionMode": {
         "anyOf": [
            {
               "enum": [
                  "QUEUED",
                  "SUPERSEDED",
                  "PARALLEL"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Executionmode"
      },
      "created": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Created"
      },
      "updated": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Updated"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field created: datetime | None = None

The date and time the pipeline was created, in timestamp format.

field executionMode: Literal['QUEUED', 'SUPERSEDED', 'PARALLEL'] | None = None

The method that the pipeline will use to handle multiple executions.

The default mode is SUPERSEDED.

field name: str | None = None

The name of the pipeline.

field pipelineType: Literal['V1', 'V2'] | None = None

CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.

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.

field updated: datetime | None = None

The date and time of the last update to the pipeline, in timestamp format.

field version: int | None = None

The version number of the pipeline.

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.codepipeline.SourceRevision[source]

Bases: Boto3Model

Information about the version (or revision) of a source artifact that initiated a pipeline execution.

Show JSON schema
{
   "title": "SourceRevision",
   "description": "Information about the version (or revision) of a source artifact that initiated a\npipeline execution.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "actionName": {
         "title": "Actionname",
         "type": "string"
      },
      "revisionId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionid"
      },
      "revisionSummary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionsummary"
      },
      "revisionUrl": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Revisionurl"
      }
   },
   "required": [
      "actionName"
   ]
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field actionName: str [Required]

The name of the action that processed the revision to the source artifact.

field revisionId: str | None = None

The system-generated unique ID that identifies the revision number of the artifact.

field revisionSummary: str | None = None

Summary information about the most recent revision of the artifact.

For GitHub and CodeCommit repositories, the commit message. For Amazon S3 buckets or actions, the user-provided content of a codepipeline-artifact-revision-summary key specified in the object metadata.

field revisionUrl: str | None = None

The commit ID for the artifact revision.

For artifacts stored in GitHub or CodeCommit repositories, the commit ID is linked to a commit details page.

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.codepipeline.StartPipelineExecutionOutput[source]

Bases: Boto3Model

Represents the output of a StartPipelineExecution action.

Show JSON schema
{
   "title": "StartPipelineExecutionOutput",
   "description": "Represents the output of a ``StartPipelineExecution`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelineExecutionId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelineexecutionid"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field pipelineExecutionId: str | None = None

The unique system-generated ID of the pipeline execution that was started.

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.codepipeline.StopExecutionTrigger[source]

Bases: Boto3Model

The interaction that stopped a pipeline execution.

Show JSON schema
{
   "title": "StopExecutionTrigger",
   "description": "The interaction that stopped a pipeline execution.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "reason": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Reason"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field reason: str | None = None

The user-specified reason the pipeline was stopped.

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.codepipeline.StopPipelineExecutionOutput[source]

Bases: Boto3Model

Show JSON schema
{
   "title": "StopPipelineExecutionOutput",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipelineExecutionId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pipelineexecutionid"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field pipelineExecutionId: str | None = None

The unique system-generated ID of the pipeline execution that was stopped.

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.codepipeline.SucceededInStageFilter[source]

Bases: Boto3Model

Filter for pipeline executions that have successfully completed the stage in the current pipeline version.

Show JSON schema
{
   "title": "SucceededInStageFilter",
   "description": "Filter for pipeline executions that have successfully completed the stage in the\ncurrent pipeline version.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "stageName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Stagename"
      }
   }
}

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.

field stageName: str | None = None

The name of the stage for filtering for pipeline executions where the stage was successful in the current pipeline version.

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.codepipeline.UpdatePipelineOutput[source]

Bases: Boto3Model

Represents the output of an UpdatePipeline action.

Show JSON schema
{
   "title": "UpdatePipelineOutput",
   "description": "Represents the output of an ``UpdatePipeline`` action.",
   "type": "object",
   "properties": {
      "session": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Session"
      },
      "pipeline": {
         "anyOf": [
            {
               "$ref": "#/$defs/Pipeline"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ActionDeclaration": {
         "description": "Represents information about an action declaration.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "actionTypeId": {
               "$ref": "#/$defs/ActionTypeId"
            },
            "runOrder": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Runorder"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "outputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OutputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputartifacts"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "outputVariables": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Outputvariables"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "namespace": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Namespace"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            },
            "environmentVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/EnvironmentVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Environmentvariables"
            }
         },
         "required": [
            "name",
            "actionTypeId"
         ],
         "title": "ActionDeclaration",
         "type": "object"
      },
      "ActionTypeId": {
         "description": "Represents information about an action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "category": {
               "enum": [
                  "Source",
                  "Build",
                  "Deploy",
                  "Test",
                  "Invoke",
                  "Approval",
                  "Compute"
               ],
               "title": "Category",
               "type": "string"
            },
            "owner": {
               "enum": [
                  "AWS",
                  "ThirdParty",
                  "Custom"
               ],
               "title": "Owner",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "title": "Version",
               "type": "string"
            }
         },
         "required": [
            "category",
            "owner",
            "provider",
            "version"
         ],
         "title": "ActionTypeId",
         "type": "object"
      },
      "ArtifactStore": {
         "description": "The S3 bucket where artifacts for the pipeline are stored.\n\nYou must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create\na cross-region action in your pipeline, you must use ``artifactStores``.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "type": {
               "const": "S3",
               "title": "Type",
               "type": "string"
            },
            "location": {
               "title": "Location",
               "type": "string"
            },
            "encryptionKey": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/EncryptionKey"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "type",
            "location"
         ],
         "title": "ArtifactStore",
         "type": "object"
      },
      "BeforeEntryConditions": {
         "description": "The conditions for making checks for entry to a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "BeforeEntryConditions",
         "type": "object"
      },
      "BlockerDeclaration": {
         "description": "Reserved for future use.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "const": "Schedule",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "name",
            "type"
         ],
         "title": "BlockerDeclaration",
         "type": "object"
      },
      "Condition": {
         "description": "The condition for the stage.\n\nA condition is made up of the rules and the result for the condition. For more information\nabout conditions, see `Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\nconditions.html>`_ and `How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-\nhow-it-works-conditions.html>`_.. For more information about rules, see the `CodePipeline rule\nreference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "rules": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/RuleDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Rules"
            }
         },
         "title": "Condition",
         "type": "object"
      },
      "EncryptionKey": {
         "description": "Represents information about the key used to encrypt data in the artifact store,\nsuch as an Amazon Web Services Key Management Service (Key Management Service) key.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "const": "KMS",
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "id",
            "type"
         ],
         "title": "EncryptionKey",
         "type": "object"
      },
      "EnvironmentVariable": {
         "description": "Information about an environment variable for a build project or a build.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "PLAINTEXT",
                        "PARAMETER_STORE",
                        "SECRETS_MANAGER"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            }
         },
         "required": [
            "name",
            "value"
         ],
         "title": "EnvironmentVariable",
         "type": "object"
      },
      "FailureConditions": {
         "description": "The configuration that specifies the result, such as rollback, to occur upon stage\nfailure.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-\nconditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "result": {
               "anyOf": [
                  {
                     "enum": [
                        "ROLLBACK",
                        "FAIL",
                        "RETRY",
                        "SKIP"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Result"
            },
            "retryConfiguration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RetryConfiguration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "conditions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Condition"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Conditions"
            }
         },
         "title": "FailureConditions",
         "type": "object"
      },
      "GitBranchFilterCriteria": {
         "description": "The Git repository branches specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitBranchFilterCriteria",
         "type": "object"
      },
      "GitConfiguration": {
         "description": "A type of trigger configuration for Git-based source actions.\n\nYou can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by\nthe ``CodeStarSourceConnection`` action type.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "sourceActionName": {
               "title": "Sourceactionname",
               "type": "string"
            },
            "push": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPushFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Push"
            },
            "pullRequest": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/GitPullRequestFilter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Pullrequest"
            }
         },
         "required": [
            "sourceActionName"
         ],
         "title": "GitConfiguration",
         "type": "object"
      },
      "GitFilePathFilterCriteria": {
         "description": "The Git repository file paths specified as filter criteria to start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitFilePathFilterCriteria",
         "type": "object"
      },
      "GitPullRequestFilter": {
         "description": "The event criteria for the pull request trigger configuration, such as the lists of\nbranches or file paths to include and exclude.\n\nThe following are valid values for the events for this filter:\n\n* CLOSED\n* OPEN\n* UPDATED",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "events": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "OPEN",
                           "UPDATED",
                           "CLOSED"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Events"
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPullRequestFilter",
         "type": "object"
      },
      "GitPushFilter": {
         "description": "The event criteria that specify when a specified repository event will start the\npipeline for the specified trigger configuration, such as the lists of Git tags to\ninclude and exclude.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "tags": {
               "$ref": "#/$defs/GitTagFilterCriteria",
               "default": null
            },
            "branches": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitBranchFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "filePaths": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GitFilePathFilterCriteria"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GitPushFilter",
         "type": "object"
      },
      "GitTagFilterCriteria": {
         "description": "The Git tags specified as filter criteria for whether a Git tag repository event\nwill start the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "includes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Includes"
            },
            "excludes": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Excludes"
            }
         },
         "title": "GitTagFilterCriteria",
         "type": "object"
      },
      "InputArtifact": {
         "description": "Represents information about an artifact to be worked on, such as a test or build\nartifact.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "InputArtifact",
         "type": "object"
      },
      "OutputArtifact": {
         "description": "Represents information about the output of an action.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "files": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Files"
            }
         },
         "required": [
            "name"
         ],
         "title": "OutputArtifact",
         "type": "object"
      },
      "Pipeline": {
         "description": "Represents the structure of actions and stages to be performed in the pipeline.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "default": null,
               "title": "Name",
               "type": "string"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "stages": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/StageDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Stages"
            },
            "artifactStore": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ArtifactStore"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "artifactStores": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "$ref": "#/$defs/ArtifactStore"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Artifactstores"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            },
            "executionMode": {
               "anyOf": [
                  {
                     "enum": [
                        "QUEUED",
                        "SUPERSEDED",
                        "PARALLEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Executionmode"
            },
            "pipelineType": {
               "anyOf": [
                  {
                     "enum": [
                        "V1",
                        "V2"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinetype"
            },
            "variables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/PipelineVariableDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Variables"
            },
            "triggers": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/PipelineTriggerDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Triggers"
            },
            "pipelineArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pipelinearn"
            }
         },
         "title": "Pipeline",
         "type": "object"
      },
      "PipelineTriggerDeclaration": {
         "description": "Represents information about the specified trigger configuration, such as the filter\ncriteria and the source stage for the action that contains the trigger.\n\nThis is only supported for the ``CodeStarSourceConnection`` action type.\n\n\n\nWhen a trigger configuration is specified, default change detection for repository and branch commits is disabled.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "providerType": {
               "const": "CodeStarSourceConnection",
               "title": "Providertype",
               "type": "string"
            },
            "gitConfiguration": {
               "$ref": "#/$defs/GitConfiguration"
            }
         },
         "required": [
            "providerType",
            "gitConfiguration"
         ],
         "title": "PipelineTriggerDeclaration",
         "type": "object"
      },
      "PipelineVariableDeclaration": {
         "description": "A variable declared at the pipeline level.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "defaultValue": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Defaultvalue"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "required": [
            "name"
         ],
         "title": "PipelineVariableDeclaration",
         "type": "object"
      },
      "RetryConfiguration": {
         "description": "The retry configuration specifies automatic retry for a failed stage, along with the\nconfigured retry mode.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "retryMode": {
               "anyOf": [
                  {
                     "enum": [
                        "FAILED_ACTIONS",
                        "ALL_ACTIONS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Retrymode"
            }
         },
         "title": "RetryConfiguration",
         "type": "object"
      },
      "RuleDeclaration": {
         "description": "Represents information about the rule to be created for an associated condition.\n\nAn example would be creating a new rule for an entry condition, such as a rule that\nchecks for a test result before allowing the run to enter the deployment stage. For\nmore information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.\nFor    more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "ruleTypeId": {
               "$ref": "#/$defs/RuleTypeId"
            },
            "configuration": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Configuration"
            },
            "commands": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Commands"
            },
            "inputArtifacts": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/InputArtifact"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Inputartifacts"
            },
            "roleArn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rolearn"
            },
            "region": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Region"
            },
            "timeoutInMinutes": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Timeoutinminutes"
            }
         },
         "required": [
            "name",
            "ruleTypeId"
         ],
         "title": "RuleDeclaration",
         "type": "object"
      },
      "RuleTypeId": {
         "description": "The ID for the rule type, which is made up of the combined values for category,\nowner, provider, and version.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-\n conditions.html>`_. For more information about rules, see the\n`CodePipeline rule reference <https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "owner": {
               "anyOf": [
                  {
                     "const": "AWS",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Owner"
            },
            "category": {
               "const": "Rule",
               "title": "Category",
               "type": "string"
            },
            "provider": {
               "title": "Provider",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Version"
            }
         },
         "required": [
            "category",
            "provider"
         ],
         "title": "RuleTypeId",
         "type": "object"
      },
      "StageDeclaration": {
         "description": "Represents information about a stage and its definition.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "blockers": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/BlockerDeclaration"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Blockers"
            },
            "actions": {
               "items": {
                  "$ref": "#/$defs/ActionDeclaration"
               },
               "title": "Actions",
               "type": "array"
            },
            "onFailure": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FailureConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "onSuccess": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SuccessConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "beforeEntry": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BeforeEntryConditions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "name",
            "actions"
         ],
         "title": "StageDeclaration",
         "type": "object"
      },
      "SuccessConditions": {
         "description": "The conditions for making checks that, if met, succeed a stage.\n\nFor more information about conditions, see\n`Stage conditions <https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html>`_\nand\n`How do stage conditions work? <https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html>`_.",
         "properties": {
            "session": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Session"
            },
            "conditions": {
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "required": [
            "conditions"
         ],
         "title": "SuccessConditions",
         "type": "object"
      }
   }
}

Config:
  • validate_assignment: bool = True

  • arbitrary_types_allowed: bool = True

Fields:
field pipeline: Pipeline | None = None

The updated pipeline definition.

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.