or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

access-control.mdcache-and-credentials.mdconnected-registries.mdindex.mdprivate-networking.mdregistry-management.mdreplication-management.mdwebhook-management.md
tile.json

tessl/pypi-azure-mgmt-containerregistry

Microsoft Azure Container Registry Client Library for managing container registries, replications, webhooks, and access control through Azure Resource Manager APIs.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/azure-mgmt-containerregistry@14.0.x

To install, run

npx @tessl/cli install tessl/pypi-azure-mgmt-containerregistry@14.0.0

index.mddocs/

Azure Container Registry Management Client

A comprehensive Python client library for managing Azure Container Registry resources through the Azure Resource Manager (ARM) API. This library enables developers to programmatically create, configure, and manage container registries, handle registry operations like replications, webhooks, and access policies, and integrate container registry management into Azure infrastructure automation workflows.

Package Information

  • Package Name: azure-mgmt-containerregistry
  • Package Type: Python package (pip)
  • Language: Python
  • Version: 14.0.0
  • Installation: pip install azure-mgmt-containerregistry
  • Documentation: https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing

Core Imports

Main client import for multi-API version support:

from azure.mgmt.containerregistry import ContainerRegistryManagementClient

Async client import:

from azure.mgmt.containerregistry.aio import ContainerRegistryManagementClient

Specific API version import:

from azure.mgmt.containerregistry.v2025_04_01 import ContainerRegistryManagementClient

Model imports:

from azure.mgmt.containerregistry.models import (
    # Core registry models
    Registry,
    RegistryUpdateParameters,
    Sku,
    RegistryNameCheckRequest,
    RegistryNameStatus,
    RegistryListCredentialsResult,
    RegenerateCredentialParameters,
    ImportImageParameters,
    RegistryUsageListResult,
    GenerateCredentialsParameters,
    GenerateCredentialsResult,
    
    # Replication models
    Replication,
    ReplicationUpdateParameters,
    
    # Webhook models  
    Webhook,
    WebhookCreateParameters,
    WebhookUpdateParameters,
    CallbackConfig,
    Event,
    EventInfo,
    
    # Access control models
    ScopeMap,
    ScopeMapUpdateParameters,
    Token,
    TokenUpdateParameters,
    TokenCredentialsProperties,
    
    # Private networking models
    PrivateEndpointConnection,
    PrivateEndpoint,
    PrivateLinkServiceConnectionState,
    PrivateLinkResource,
    
    # Connected registry models
    ConnectedRegistry,
    ConnectedRegistryUpdateParameters,
    ActivationProperties,
    LoginServerProperties,
    
    # Cache and credentials models
    CacheRule,
    CacheRuleUpdateParameters,
    CredentialSet,
    CredentialSetUpdateParameters,
    AuthCredential,
    
    # Common enums
    ProvisioningState,
    WebhookAction,
    WebhookStatus,
    TokenStatus,
    ConnectionStatus,
    ConnectedRegistryMode,
    ZoneRedundancy
)

Basic Usage

from azure.identity import DefaultAzureCredential
from azure.mgmt.containerregistry import ContainerRegistryManagementClient

# Initialize client with Azure credentials
credential = DefaultAzureCredential()
subscription_id = "your-subscription-id"
client = ContainerRegistryManagementClient(credential, subscription_id)

# List all registries in subscription
registries = client.registries.list()
for registry in registries:
    print(f"Registry: {registry.name}, Location: {registry.location}")

# Get specific registry
registry = client.registries.get("resource-group-name", "registry-name")
print(f"Registry SKU: {registry.sku.name}")

# Create a basic registry
from azure.mgmt.containerregistry.models import Registry, Sku

registry_params = Registry(
    location="East US",
    sku=Sku(name="Standard"),
    admin_user_enabled=True
)

registry_creation = client.registries.begin_create(
    "resource-group-name",
    "new-registry-name", 
    registry_params
)
registry = registry_creation.result()  # Wait for completion

Architecture

The client follows Azure SDK patterns with multi-API version support:

  • ContainerRegistryManagementClient: Main multi-API client supporting all Azure clouds and API versions
  • Operation Groups: Specialized classes for different functionality areas (registries, webhooks, replications, etc.)
  • Models: Strongly-typed classes representing Azure resources and parameters
  • Long-Running Operations (LRO): Async pattern for operations that take time to complete
  • Multi-API Support: Ability to target specific API versions for compatibility

The library supports both synchronous and asynchronous programming patterns and provides comprehensive coverage of Azure Container Registry management capabilities including advanced features like connected registries for edge scenarios, build automation, and sophisticated access control.

Capabilities

Registry Management

Core container registry lifecycle management including creation, configuration, updates, deletion, and administrative operations. Supports all registry SKUs (Basic, Standard, Premium) and advanced features like geo-replication and networking controls.

class RegistriesOperations:
    def begin_create(resource_group_name: str, registry_name: str, registry: Registry, **kwargs) -> LROPoller[Registry]: ...
    def begin_delete(resource_group_name: str, registry_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, registry_update_parameters: RegistryUpdateParameters, **kwargs) -> LROPoller[Registry]: ...
    def get(resource_group_name: str, registry_name: str, **kwargs) -> Registry: ...
    def list(**kwargs) -> ItemPaged[Registry]: ...
    def list_by_resource_group(resource_group_name: str, **kwargs) -> ItemPaged[Registry]: ...
    def check_name_availability(registry_name_check_request: RegistryNameCheckRequest, **kwargs) -> RegistryNameStatus: ...
    def list_credentials(resource_group_name: str, registry_name: str, **kwargs) -> RegistryListCredentialsResult: ...
    def regenerate_credential(resource_group_name: str, registry_name: str, regenerate_credential_parameters: RegenerateCredentialParameters, **kwargs) -> RegistryListCredentialsResult: ...
    def begin_import_image(resource_group_name: str, registry_name: str, parameters: ImportImageParameters, **kwargs) -> LROPoller[None]: ...
    def list_usages(resource_group_name: str, registry_name: str, **kwargs) -> RegistryUsageListResult: ...
    def list_private_link_resources(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[PrivateLinkResource]: ...
    def get_private_link_resource(resource_group_name: str, registry_name: str, group_name: str, **kwargs) -> PrivateLinkResource: ...
    def begin_generate_credentials(resource_group_name: str, registry_name: str, generate_credentials_parameters: GenerateCredentialsParameters, **kwargs) -> LROPoller[GenerateCredentialsResult]: ...

Registry Management

Replication Management

Geographic replication management for Premium registries, enabling registry content distribution across multiple Azure regions for performance and disaster recovery.

class ReplicationsOperations:
    def begin_create(resource_group_name: str, registry_name: str, replication_name: str, replication: Replication, **kwargs) -> LROPoller[Replication]: ...
    def begin_delete(resource_group_name: str, registry_name: str, replication_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, replication_name: str, replication_update_parameters: ReplicationUpdateParameters, **kwargs) -> LROPoller[Replication]: ...
    def get(resource_group_name: str, registry_name: str, replication_name: str, **kwargs) -> Replication: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[Replication]: ...

Replication Management

Webhook Management

Registry webhook configuration for receiving notifications about registry events like image pushes, deletions, and quarantine actions. Supports custom endpoints and filtering.

class WebhooksOperations:
    def begin_create(resource_group_name: str, registry_name: str, webhook_name: str, webhook_create_parameters: WebhookCreateParameters, **kwargs) -> LROPoller[Webhook]: ...
    def begin_delete(resource_group_name: str, registry_name: str, webhook_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, webhook_name: str, webhook_update_parameters: WebhookUpdateParameters, **kwargs) -> LROPoller[Webhook]: ...
    def get(resource_group_name: str, registry_name: str, webhook_name: str, **kwargs) -> Webhook: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[Webhook]: ...
    def ping(resource_group_name: str, registry_name: str, webhook_name: str, **kwargs) -> EventInfo: ...
    def list_events(resource_group_name: str, registry_name: str, webhook_name: str, **kwargs) -> ItemPaged[Event]: ...
    def get_callback_config(resource_group_name: str, registry_name: str, webhook_name: str, **kwargs) -> CallbackConfig: ...

Webhook Management

Access Control

Repository-level access control through scope maps and tokens, providing fine-grained permissions for registry access without using admin credentials.

class ScopeMapsOperations:
    def begin_create(resource_group_name: str, registry_name: str, scope_map_name: str, scope_map_create_parameters: ScopeMap, **kwargs) -> LROPoller[ScopeMap]: ...
    def begin_delete(resource_group_name: str, registry_name: str, scope_map_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, scope_map_name: str, scope_map_update_parameters: ScopeMapUpdateParameters, **kwargs) -> LROPoller[ScopeMap]: ...
    def get(resource_group_name: str, registry_name: str, scope_map_name: str, **kwargs) -> ScopeMap: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[ScopeMap]: ...

class TokensOperations:
    def begin_create(resource_group_name: str, registry_name: str, token_name: str, token_create_parameters: Token, **kwargs) -> LROPoller[Token]: ...
    def begin_delete(resource_group_name: str, registry_name: str, token_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, token_name: str, token_update_parameters: TokenUpdateParameters, **kwargs) -> LROPoller[Token]: ...
    def get(resource_group_name: str, registry_name: str, token_name: str, **kwargs) -> Token: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[Token]: ...

Access Control

Private Networking

Private endpoint connections for secure registry access through Azure Virtual Networks, supporting private connectivity and network isolation.

class PrivateEndpointConnectionsOperations:
    def begin_create_or_update(resource_group_name: str, registry_name: str, private_endpoint_connection_name: str, private_endpoint_connection: PrivateEndpointConnection, **kwargs) -> LROPoller[PrivateEndpointConnection]: ...
    def begin_delete(resource_group_name: str, registry_name: str, private_endpoint_connection_name: str, **kwargs) -> LROPoller[None]: ...
    def get(resource_group_name: str, registry_name: str, private_endpoint_connection_name: str, **kwargs) -> PrivateEndpointConnection: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[PrivateEndpointConnection]: ...

Private Networking

Connected Registries

Connected registry management for edge computing scenarios, enabling synchronized registry instances at edge locations with configurable sync policies.

class ConnectedRegistriesOperations:
    def begin_create(resource_group_name: str, registry_name: str, connected_registry_name: str, connected_registry_create_parameters: ConnectedRegistry, **kwargs) -> LROPoller[ConnectedRegistry]: ...
    def begin_delete(resource_group_name: str, registry_name: str, connected_registry_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, connected_registry_name: str, connected_registry_update_parameters: ConnectedRegistryUpdateParameters, **kwargs) -> LROPoller[ConnectedRegistry]: ...
    def begin_deactivate(resource_group_name: str, registry_name: str, connected_registry_name: str, **kwargs) -> LROPoller[None]: ...
    def get(resource_group_name: str, registry_name: str, connected_registry_name: str, **kwargs) -> ConnectedRegistry: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[ConnectedRegistry]: ...

Connected Registries

Cache and Credentials

Cache rule management for upstream registry caching and credential set management for secure authentication to external registries.

class CacheRulesOperations:
    def begin_create(resource_group_name: str, registry_name: str, cache_rule_name: str, cache_rule_create_parameters: CacheRule, **kwargs) -> LROPoller[CacheRule]: ...
    def begin_delete(resource_group_name: str, registry_name: str, cache_rule_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, cache_rule_name: str, cache_rule_update_parameters: CacheRuleUpdateParameters, **kwargs) -> LROPoller[CacheRule]: ...
    def get(resource_group_name: str, registry_name: str, cache_rule_name: str, **kwargs) -> CacheRule: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[CacheRule]: ...

class CredentialSetsOperations:
    def begin_create(resource_group_name: str, registry_name: str, credential_set_name: str, credential_set_create_parameters: CredentialSet, **kwargs) -> LROPoller[CredentialSet]: ...
    def begin_delete(resource_group_name: str, registry_name: str, credential_set_name: str, **kwargs) -> LROPoller[None]: ...
    def begin_update(resource_group_name: str, registry_name: str, credential_set_name: str, credential_set_update_parameters: CredentialSetUpdateParameters, **kwargs) -> LROPoller[CredentialSet]: ...
    def get(resource_group_name: str, registry_name: str, credential_set_name: str, **kwargs) -> CredentialSet: ...
    def list(resource_group_name: str, registry_name: str, **kwargs) -> ItemPaged[CredentialSet]: ...

Cache and Credentials