GARSourceOptions

pydantic model controller.models.v1.prepuller.GARSourceOptions

Google Artifact Registry from which to get images.

The Google Artifact Repository naming convention is unfortunate. It uses repository for a specific management level of the Google Artifact Registry within a Google project that does not include the name of the image, unlike the terminology that is used elsewhere where the registry is the hostname and the repository is everything else except the tag and hash.

Everywhere else, repository is used in the non-Google sense. In this class, the main class uses the Google terminology to avoid confusion, and uses path for what everything else calls the repository.

Parameters:

data (Any)

Show JSON schema
{
   "title": "GARSourceOptions",
   "description": "Google Artifact Registry from which to get images.\n\nThe Google Artifact Repository naming convention is unfortunate. It uses\n``repository`` for a specific management level of the Google Artifact\nRegistry within a Google project that does not include the name of the\nimage, unlike the terminology that is used elsewhere where the registry is\nthe hostname and the repository is everything else except the tag and\nhash.\n\nEverywhere else, repository is used in the non-Google sense. In this\nclass, the main class uses the Google terminology to avoid confusion, and\nuses ``path`` for what everything else calls the repository.",
   "type": "object",
   "properties": {
      "type": {
         "const": "google",
         "enum": [
            "google"
         ],
         "title": "Type of image source",
         "type": "string"
      },
      "location": {
         "description": "This is the same as the hostname of the registry but with the ``-docker.pkg.dev`` suffix removed.",
         "examples": [
            "us-central1"
         ],
         "title": "Region or multiregion of registry",
         "type": "string"
      },
      "project_id": {
         "description": "Google Cloud Platform project ID containing the registry",
         "examples": [
            "ceres-lighthouse-6ab4"
         ],
         "title": "GCP project ID",
         "type": "string"
      },
      "repository": {
         "description": "Google Artifact Registry repository name",
         "examples": [
            "library"
         ],
         "title": "GAR repository",
         "type": "string"
      },
      "image": {
         "description": "Google Artifact Registry image name",
         "examples": [
            "sketchbook"
         ],
         "title": "GAR image name",
         "type": "string"
      }
   },
   "required": [
      "type",
      "location",
      "project_id",
      "repository",
      "image"
   ]
}

Fields:
field image: Annotated[str, Field(title='GAR image name', description='Google Artifact Registry image name', examples=['sketchbook'])] [Required]

Google Artifact Registry image name

field location: Annotated[str, Field(title='Region or multiregion of registry', description='This is the same as the hostname of the registry but with the -docker.pkg.dev suffix removed.', examples=['us-central1'])] [Required]

This is the same as the hostname of the registry but with the -docker.pkg.dev suffix removed.

field project_id: Annotated[str, Field(title='GCP project ID', description='Google Cloud Platform project ID containing the registry', examples=['ceres-lighthouse-6ab4'])] [Required]

Google Cloud Platform project ID containing the registry

field repository: Annotated[str, Field(title='GAR repository', description='Google Artifact Registry repository name', examples=['library'])] [Required]

Google Artifact Registry repository name

field type: Annotated[Literal['google'], Field(title='Type of image source')] [Required]
property parent: str

Parent string for searches in Google Artifact Repository.

property path: str

What everything else calls a repository.

property registry: str

Hostname holding the registry.