CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-azure-mgmt-apimanagement

Microsoft Azure API Management Client Library for Python providing comprehensive SDK functionality for managing Azure API Management services.

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Eval results
Files

service-management.mddocs/

Service Management

Core API Management service lifecycle operations including creating, updating, configuring, and monitoring API Management instances. Includes service-level settings, SKU management, network configuration, backup/restore capabilities, and multi-region deployment.

Capabilities

Service Lifecycle Operations

Fundamental operations for managing API Management service instances throughout their lifecycle.

class ApiManagementServiceOperations:
    def get(self, resource_group_name: str, service_name: str, **kwargs) -> ApiManagementServiceResource: ...
    def begin_create_or_update(self, resource_group_name: str, service_name: str, parameters: ApiManagementServiceResource, **kwargs) -> LROPoller[ApiManagementServiceResource]: ...
    def begin_update(self, resource_group_name: str, service_name: str, parameters: ApiManagementServiceUpdateParameters, **kwargs) -> LROPoller[ApiManagementServiceResource]: ...
    def begin_delete(self, resource_group_name: str, service_name: str, **kwargs) -> LROPoller[None]: ...
    def list_by_subscription(self, **kwargs) -> ItemPaged[ApiManagementServiceResource]: ...
    def list_by_resource_group(self, resource_group_name: str, **kwargs) -> ItemPaged[ApiManagementServiceResource]: ...
    def get_sso_token(self, resource_group_name: str, service_name: str, **kwargs) -> ApiManagementServiceGetSsoTokenResult: ...
    def check_name_availability(self, parameters: ApiManagementServiceCheckNameAvailabilityParameters, **kwargs) -> ApiManagementServiceNameAvailabilityResult: ...
    def get_domain_ownership_identifier(self, **kwargs) -> ApiManagementServiceGetDomainOwnershipIdentifierResult: ...
    def begin_apply_network_configuration_updates(self, resource_group_name: str, service_name: str, parameters: Optional[ApiManagementServiceApplyNetworkConfigurationParameters] = None, **kwargs) -> LROPoller[ApiManagementServiceResource]: ...
    def begin_backup(self, resource_group_name: str, service_name: str, parameters: ApiManagementServiceBackupRestoreParameters, **kwargs) -> LROPoller[ApiManagementServiceResource]: ...
    def begin_restore(self, resource_group_name: str, service_name: str, parameters: ApiManagementServiceBackupRestoreParameters, **kwargs) -> LROPoller[ApiManagementServiceResource]: ...

Service SKU Management

Management of service pricing tiers and capacity scaling operations.

class ApiManagementServiceSkusOperations:
    def list_available_service_skus(self, resource_group_name: str, service_name: str, **kwargs) -> ItemPaged[ResourceSkuResult]: ...

class ApiManagementSkusOperations:
    def list(self, **kwargs) -> ItemPaged[ApiManagementSku]: ...

Deleted Services Recovery

Operations for managing and recovering soft-deleted API Management services.

class DeletedServicesOperations:
    def get_by_name(self, service_name: str, location: str, **kwargs) -> DeletedServiceContract: ...
    def list_by_subscription(self, **kwargs) -> ItemPaged[DeletedServiceContract]: ...
    def purge(self, service_name: str, location: str, **kwargs) -> LROPoller[DeletedServiceContract]: ...

Network Status Operations

Network connectivity and status monitoring for API Management services.

class NetworkStatusOperations:
    def list_by_service(self, resource_group_name: str, service_name: str, **kwargs) -> List[NetworkStatusContract]: ...
    def list_by_location(self, resource_group_name: str, service_name: str, location_name: str, **kwargs) -> NetworkStatusContract: ...

Outbound Network Dependencies

Management of outbound network dependencies and connectivity requirements.

class OutboundNetworkDependenciesEndpointsOperations:
    def list_by_service(self, resource_group_name: str, service_name: str, **kwargs) -> ItemPaged[OutboundNetworkDependenciesEndpoints]: ...

Operations Management

Discovery and management of available operations for the API Management service.

class ApiManagementOperationsOperations:
    def list(self, **kwargs) -> ItemPaged[OperationDisplay]: ...

Region Operations

Multi-region deployment and geographic distribution management.

class RegionOperations:
    def list_by_service(self, resource_group_name: str, service_name: str, **kwargs) -> ItemPaged[RegionContract]: ...

Tenant Configuration

Tenant-level configuration management including Git synchronization and access settings.

class TenantConfigurationOperations:
    def deploy(self, resource_group_name: str, service_name: str, configuration_name: str, parameters: DeployConfigurationParameters, **kwargs) -> LROPoller[OperationResultContract]: ...
    def save(self, resource_group_name: str, service_name: str, configuration_name: str, parameters: SaveConfigurationParameter, **kwargs) -> LROPoller[OperationResultContract]: ...
    def validate(self, resource_group_name: str, service_name: str, configuration_name: str, parameters: DeployConfigurationParameters, **kwargs) -> LROPoller[OperationResultContract]: ...
    def get_sync_state(self, resource_group_name: str, service_name: str, configuration_name: str, **kwargs) -> TenantConfigurationSyncStateContract: ...

class TenantAccessOperations:
    def get(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> AccessInformationContract: ...
    def update(self, resource_group_name: str, service_name: str, access_name: str, if_match: str, parameters: AccessInformationUpdateParameters, **kwargs) -> AccessInformationContract: ...
    def list_by_service(self, resource_group_name: str, service_name: str, filter: Optional[str] = None, **kwargs) -> ItemPaged[AccessInformationContract]: ...
    def regenerate_primary_key(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> None: ...
    def regenerate_secondary_key(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> None: ...
    def list_secrets(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> AccessInformationSecretsContract: ...
    def get_entity_tag(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> bool: ...

class TenantAccessGitOperations:
    def get(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> AccessInformationContract: ...
    def regenerate_primary_key(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> None: ...
    def regenerate_secondary_key(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> None: ...
    def list_secrets(self, resource_group_name: str, service_name: str, access_name: str, **kwargs) -> AccessInformationSecretsContract: ...

Tenant Settings

Global tenant settings and configuration management.

class TenantSettingsOperations:
    def get(self, resource_group_name: str, service_name: str, settings_type: str, **kwargs) -> TenantSettingsContract: ...
    def list_by_service(self, resource_group_name: str, service_name: str, filter: Optional[str] = None, **kwargs) -> ItemPaged[TenantSettingsContract]: ...

Usage Examples

Creating a New API Management Service

from azure.mgmt.apimanagement.models import (
    ApiManagementServiceResource,
    ApiManagementServiceProperties,
    ApiManagementServiceSkuProperties,
    SkuType,
    VirtualNetworkType
)

# Define service properties
service_properties = ApiManagementServiceProperties(
    publisher_name="Contoso",
    publisher_email="admin@contoso.com",
    sku=ApiManagementServiceSkuProperties(
        name=SkuType.DEVELOPER,
        capacity=1
    ),
    location="East US",
    virtual_network_type=VirtualNetworkType.NONE
)

# Create service resource
service_resource = ApiManagementServiceResource(
    location="East US",
    properties=service_properties,
    tags={"Environment": "Development", "Team": "API"}
)

# Create the service
service = client.api_management_service.begin_create_or_update(
    resource_group_name="my-resource-group",
    service_name="my-apim-service",
    parameters=service_resource
).result()

print(f"Created service: {service.name} in {service.location}")

Updating Service Configuration

from azure.mgmt.apimanagement.models import ApiManagementServiceUpdateParameters

# Update service settings
update_params = ApiManagementServiceUpdateParameters(
    properties=ApiManagementServiceUpdateProperties(
        publisher_name="Updated Publisher Name",
        publisher_email="newemail@contoso.com",
        sku=ApiManagementServiceSkuProperties(
            name=SkuType.STANDARD,
            capacity=2  # Scale up
        )
    ),
    tags={"Environment": "Production", "Team": "API", "CostCenter": "IT"}
)

# Apply updates
updated_service = client.api_management_service.begin_update(
    resource_group_name="my-resource-group",
    service_name="my-apim-service",
    parameters=update_params
).result()

print(f"Updated service SKU to: {updated_service.properties.sku.name}")

Service Backup and Restore

from azure.mgmt.apimanagement.models import ApiManagementServiceBackupRestoreParameters

# Backup service
backup_params = ApiManagementServiceBackupRestoreParameters(
    storage_account="mybackupstorage",
    container_name="apim-backups",
    backup_name="apim-backup-2023-09-07",
    access_type="SystemAssignedManagedIdentity"
)

# Start backup operation
backup_operation = client.api_management_service.begin_backup(
    resource_group_name="my-resource-group",
    service_name="my-apim-service",
    parameters=backup_params
)

backup_result = backup_operation.result()
print(f"Backup completed for service: {backup_result.name}")

# Restore service from backup
restore_params = ApiManagementServiceBackupRestoreParameters(
    storage_account="mybackupstorage",
    container_name="apim-backups",
    backup_name="apim-backup-2023-09-07",
    access_type="SystemAssignedManagedIdentity"
)

restore_operation = client.api_management_service.begin_restore(
    resource_group_name="my-resource-group",
    service_name="my-apim-service",
    parameters=restore_params
)

restored_service = restore_operation.result()
print(f"Service restored: {restored_service.name}")

Network Configuration

from azure.mgmt.apimanagement.models import ApiManagementServiceApplyNetworkConfigurationParameters

# Apply network configuration updates
network_config = ApiManagementServiceApplyNetworkConfigurationParameters(
    location="East US"
)

# Apply network updates
network_operation = client.api_management_service.begin_apply_network_configuration_updates(
    resource_group_name="my-resource-group",
    service_name="my-apim-service",
    parameters=network_config
)

updated_service = network_operation.result()
print(f"Network configuration updated for: {updated_service.name}")

Types

Core Service Types

class ApiManagementServiceResource:
    id: Optional[str]
    name: Optional[str]
    type: Optional[str]
    location: str
    tags: Optional[Dict[str, str]]
    properties: Optional[ApiManagementServiceProperties]
    sku: Optional[ApiManagementServiceSkuProperties]
    identity: Optional[ApiManagementServiceIdentity]
    system_data: Optional[SystemData]
    zones: Optional[List[str]]

class ApiManagementServiceProperties:
    publisher_email: str
    publisher_name: str
    notification_sender_email: Optional[str]
    provisioning_state: Optional[str]
    target_provisioning_state: Optional[str]
    created_at_utc: Optional[datetime]
    gateway_url: Optional[str]
    gateway_regional_url: Optional[str]
    portal_url: Optional[str]
    management_api_url: Optional[str]
    scm_url: Optional[str]
    developer_portal_url: Optional[str]
    hostname_configurations: Optional[List[HostnameConfiguration]]
    public_ip_addresses: Optional[List[str]]
    private_ip_addresses: Optional[List[str]]
    additional_locations: Optional[List[AdditionalLocation]]
    virtual_network_configuration: Optional[VirtualNetworkConfiguration]
    custom_properties: Optional[Dict[str, str]]
    certificates: Optional[List[CertificateConfiguration]]
    enable_client_certificate: Optional[bool]
    disable_gateway: Optional[bool]
    virtual_network_type: Optional[VirtualNetworkType]
    api_version_constraint: Optional[ApiVersionConstraint]
    restore: Optional[bool]

class ApiManagementServiceSkuProperties:
    name: SkuType
    capacity: Optional[int]

class ApiManagementServiceIdentity:
    type: ApimIdentityType
    principal_id: Optional[str]
    tenant_id: Optional[str]
    user_assigned_identities: Optional[Dict[str, UserIdentityProperties]]

Service Enums

class SkuType:
    DEVELOPER = "Developer"
    STANDARD = "Standard"
    PREMIUM = "Premium"
    BASIC = "Basic"
    CONSUMPTION = "Consumption"
    ISOLATED = "Isolated"

class VirtualNetworkType:
    NONE = "None"
    EXTERNAL = "External"
    INTERNAL = "Internal"

class ApimIdentityType:
    SYSTEM_ASSIGNED = "SystemAssigned"
    USER_ASSIGNED = "UserAssigned"
    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned"
    NONE = "None"

class HostnameType:
    PROXY = "Proxy"
    PORTAL = "Portal"
    MANAGEMENT = "Management"
    SCM = "Scm"
    DEVELOPER_PORTAL = "DeveloperPortal"

class CertificateSource:
    MANAGED = "Managed"
    KEY_VAULT = "KeyVault"
    CUSTOM = "Custom"
    BUILT_IN = "BuiltIn"

Install with Tessl CLI

npx tessl i tessl/pypi-azure-mgmt-apimanagement

docs

api-management.md

index.md

policy-management.md

service-management.md

tile.json