Microsoft Azure API Management Client Library for Python providing comprehensive SDK functionality for managing Azure API Management services.
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
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.
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]: ...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]: ...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 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: ...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]: ...Discovery and management of available operations for the API Management service.
class ApiManagementOperationsOperations:
def list(self, **kwargs) -> ItemPaged[OperationDisplay]: ...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-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: ...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]: ...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}")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}")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}")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}")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]]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