pub enum ArtifactRegistryBinding {
Variant0 {
legacy_repository_prefixes: Vec<String>,
legacy_sandbox_repository_prefixes: Vec<String>,
pull_role_arn: Option<BindingValueString>,
push_role_arn: Option<BindingValueString>,
repository_prefix: BindingValueString,
sandbox_repository_prefix: Option<BindingValueString>,
service: ArtifactRegistryBindingVariant0Service,
},
Variant1 {
registry_name: BindingValueString,
repository_prefix: Option<BindingValueString>,
resource_group_name: BindingValueString,
service: ArtifactRegistryBindingVariant1Service,
},
Variant2 {
pull_service_account_email: Option<BindingValueString>,
push_service_account_email: Option<BindingValueString>,
repository_name: BindingValueString,
service: ArtifactRegistryBindingVariant2Service,
},
Variant3 {
data_dir: BindingValueOptionString,
registry_url: BindingValueString,
service: ArtifactRegistryBindingVariant3Service,
},
}Expand description
Service-type based artifact registry binding that supports multiple registry providers
JSON schema
{
"description": "Service-type based artifact registry binding that supports multiple registry providers",
"oneOf": [
{
"description": "AWS ECR (Elastic Container Registry)",
"allOf": [
{
"$ref": "#/components/schemas/EcrArtifactRegistryBinding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"ecr"
]
}
}
}
]
},
{
"description": "Azure Container Registry",
"allOf": [
{
"$ref": "#/components/schemas/AcrArtifactRegistryBinding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"acr"
]
}
}
}
]
},
{
"description": "Google Artifact Registry",
"allOf": [
{
"$ref": "#/components/schemas/GarArtifactRegistryBinding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"gar"
]
}
}
}
]
},
{
"description": "Local container registry",
"allOf": [
{
"$ref": "#/components/schemas/LocalArtifactRegistryBinding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
}Variants§
Variant0
Fields
legacy_repository_prefixes: Vec<String>Repository prefixes this registry used before repositoryPrefix. Images already released
under them stay readable and keep their cross-account grants; nothing new is written there.
legacy_sandbox_repository_prefixes: Vec<String>Sandbox namespaces this registry used before sandboxRepositoryPrefix, read the same way.
pull_role_arn: Option<BindingValueString>ARN of the IAM role for pull permissions (optional — omit for single-account)
push_role_arn: Option<BindingValueString>ARN of the IAM role for push+pull permissions (optional — omit for single-account)
repository_prefix: BindingValueStringsandbox_repository_prefix: Option<BindingValueString>Optional namespace for sandbox images served by regional ECR pull-through caches.
Configure cache rules before enabling this; workers keep using repositoryPrefix.
Variant1
Fields
registry_name: BindingValueStringrepository_prefix: Option<BindingValueString>Repository prefix for this registry (used for proxy routing)
resource_group_name: BindingValueStringVariant2
Fields
pull_service_account_email: Option<BindingValueString>Optional service account email for pull permissions (omit for single-project)
push_service_account_email: Option<BindingValueString>Optional service account email for push+pull permissions (omit for single-project)
repository_name: BindingValueString