CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-azure-mgmt-compute

Microsoft Azure Compute Management Client Library for programmatic management of Azure compute resources including virtual machines, scale sets, disks, and related infrastructure.

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Eval results
Files

cloud-services.mddocs/

Cloud Services Management

Management of Azure Cloud Services including roles, update domains, and operating system configurations. Cloud Services provide a platform-as-a-service (PaaS) compute option for deploying highly available, infinitely-scalable applications and APIs.

Capabilities

Cloud Service Lifecycle Operations

Core operations for managing Azure Cloud Services.

class CloudServicesOperations:
    def begin_create_or_update(
        resource_group_name: str,
        cloud_service_name: str,
        parameters: CloudService
    ) -> LROPoller[CloudService]:
        """
        Create or update a cloud service.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            parameters: Cloud service configuration
            
        Returns:
            Long-running operation poller for CloudService
        """

    def begin_delete(resource_group_name: str, cloud_service_name: str) -> LROPoller[None]:
        """
        Delete a cloud service.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            
        Returns:
            Long-running operation poller
        """

    def get(resource_group_name: str, cloud_service_name: str) -> CloudService:
        """
        Get cloud service details.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            
        Returns:
            Cloud service details
        """

    def list(resource_group_name: str) -> Iterable[CloudService]:
        """
        List cloud services in a resource group.
        
        Args:
            resource_group_name: Name of the resource group
            
        Returns:
            Iterable of cloud services
        """

    def list_all() -> Iterable[CloudService]:
        """
        List all cloud services in the subscription.
        
        Returns:
            Iterable of all cloud services
        """

Cloud Service Power Management

Operations for controlling cloud service power state.

def begin_start(resource_group_name: str, cloud_service_name: str) -> LROPoller[None]:
    """
    Start a cloud service.
    
    Args:
        resource_group_name: Name of the resource group
        cloud_service_name: Name of the cloud service
        
    Returns:
        Long-running operation poller
    """

def begin_power_off(resource_group_name: str, cloud_service_name: str) -> LROPoller[None]:
    """
    Power off a cloud service.
    
    Args:
        resource_group_name: Name of the resource group
        cloud_service_name: Name of the cloud service
        
    Returns:
        Long-running operation poller
    """

def begin_restart(resource_group_name: str, cloud_service_name: str) -> LROPoller[None]:
    """
    Restart a cloud service.
    
    Args:
        resource_group_name: Name of the resource group
        cloud_service_name: Name of the cloud service
        
    Returns:
        Long-running operation poller
    """

def begin_rebuild(resource_group_name: str, cloud_service_name: str) -> LROPoller[None]:
    """
    Rebuild a cloud service.
    
    Args:
        resource_group_name: Name of the resource group
        cloud_service_name: Name of the cloud service
        
    Returns:
        Long-running operation poller
    """

Cloud Service Role Management

Operations for managing roles within cloud services.

class CloudServiceRolesOperations:
    def get(
        resource_group_name: str,
        cloud_service_name: str,
        role_name: str
    ) -> CloudServiceRole:
        """
        Get cloud service role details.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            role_name: Name of the role
            
        Returns:
            Cloud service role details
        """

    def list(
        resource_group_name: str,
        cloud_service_name: str
    ) -> Iterable[CloudServiceRole]:
        """
        List roles in a cloud service.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            
        Returns:
            Iterable of cloud service roles
        """

Cloud Service Role Instance Management

Operations for managing individual role instances.

class CloudServiceRoleInstancesOperations:
    def begin_delete(
        resource_group_name: str,
        cloud_service_name: str,
        role_instance_name: str
    ) -> LROPoller[None]:
        """
        Delete a role instance.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            role_instance_name: Name of the role instance
            
        Returns:
            Long-running operation poller
        """

    def get(
        resource_group_name: str,
        cloud_service_name: str,
        role_instance_name: str
    ) -> RoleInstance:
        """
        Get role instance details.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            role_instance_name: Name of the role instance
            
        Returns:
            Role instance details
        """

    def list(
        resource_group_name: str,
        cloud_service_name: str
    ) -> Iterable[RoleInstance]:
        """
        List role instances in a cloud service.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            
        Returns:
            Iterable of role instances
        """

    def begin_restart(
        resource_group_name: str,
        cloud_service_name: str,
        role_instance_name: str
    ) -> LROPoller[None]:
        """
        Restart a role instance.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            role_instance_name: Name of the role instance
            
        Returns:
            Long-running operation poller
        """

    def begin_reimage(
        resource_group_name: str,
        cloud_service_name: str,
        role_instance_name: str
    ) -> LROPoller[None]:
        """
        Reimage a role instance.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            role_instance_name: Name of the role instance
            
        Returns:
            Long-running operation poller
        """

Update Domain Management

Operations for managing update domains in cloud services.

class CloudServicesUpdateDomainOperations:
    def walk_update_domain(
        resource_group_name: str,
        cloud_service_name: str,
        update_domain: int
    ) -> None:
        """
        Walk an update domain to apply updates.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            update_domain: Update domain number
        """

    def get_update_domain(
        resource_group_name: str,
        cloud_service_name: str,
        update_domain: int
    ) -> UpdateDomain:
        """
        Get update domain details.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            update_domain: Update domain number
            
        Returns:
            Update domain details
        """

    def list_update_domains(
        resource_group_name: str,
        cloud_service_name: str
    ) -> Iterable[UpdateDomain]:
        """
        List update domains in a cloud service.
        
        Args:
            resource_group_name: Name of the resource group
            cloud_service_name: Name of the cloud service
            
        Returns:
            Iterable of update domains
        """

Operating System Management

Operations for managing operating systems in cloud services.

class CloudServiceOperatingSystemsOperations:
    def get_os_version(
        location: str,
        os_version_name: str
    ) -> OSVersion:
        """
        Get details of a specific OS version.
        
        Args:
            location: Azure region name
            os_version_name: OS version name
            
        Returns:
            OS version details
        """

    def list_os_versions(location: str) -> Iterable[OSVersion]:
        """
        List available OS versions for cloud services.
        
        Args:
            location: Azure region name
            
        Returns:
            Iterable of available OS versions
        """

    def get_os_family(
        location: str,
        os_family_name: str
    ) -> OSFamily:
        """
        Get details of a specific OS family.
        
        Args:
            location: Azure region name
            os_family_name: OS family name
            
        Returns:
            OS family details
        """

    def list_os_families(location: str) -> Iterable[OSFamily]:
        """
        List available OS families for cloud services.
        
        Args:
            location: Azure region name
            
        Returns:
            Iterable of available OS families
        """

Data Types

class CloudService:
    """Describes the cloud service."""
    id: Optional[str]
    name: Optional[str]
    type: Optional[str]
    location: str
    tags: Optional[Dict[str, str]]
    system_data: Optional[SystemData]
    properties: Optional[CloudServiceProperties]

class CloudServiceProperties:
    """Cloud service properties."""
    package_url: Optional[str]
    configuration: Optional[str]
    configuration_url: Optional[str]
    start_cloud_service: Optional[bool]
    allow_model_override: Optional[bool]
    upgrade_mode: Optional[CloudServiceUpgradeMode]
    role_profile: Optional[CloudServiceRoleProfile]
    os_profile: Optional[CloudServiceOsProfile]
    network_profile: Optional[CloudServiceNetworkProfile]
    extension_profile: Optional[CloudServiceExtensionProfile]
    provisioning_state: Optional[str]
    unique_id: Optional[str]

class CloudServiceRole:
    """Describes a role of the cloud service."""
    id: Optional[str]
    name: Optional[str]
    type: Optional[str]
    location: Optional[str]
    sku: Optional[CloudServiceRoleSku]
    properties: Optional[CloudServiceRoleProperties]

class RoleInstance:
    """Describes the cloud service role instance."""
    id: Optional[str]
    name: Optional[str]
    type: Optional[str]
    location: Optional[str]
    tags: Optional[Dict[str, str]]
    sku: Optional[InstanceSku]
    properties: Optional[RoleInstanceProperties]

class CloudServiceRoleProfile:
    """Describes the role profile for the cloud service."""
    roles: Optional[List[CloudServiceRoleProfileProperties]]

class CloudServiceOsProfile:
    """Describes the OS profile for the cloud service."""
    secrets: Optional[List[CloudServiceVaultSecretGroup]]

class CloudServiceNetworkProfile:
    """Network Profile for the cloud service."""
    load_balancer_configurations: Optional[List[LoadBalancerConfiguration]]
    slot_type: Optional[CloudServiceSlotType]
    swap_slot_configuration: Optional[CloudServiceSlotConfiguration]

class CloudServiceExtensionProfile:
    """Describes a cloud service extension profile."""
    extensions: Optional[List[Extension]]

class UpdateDomain:
    """Defines an update domain for the cloud service."""
    id: Optional[str]
    name: Optional[str]

class OSVersion:
    """Describes a cloud service OS version."""
    id: Optional[str]
    name: Optional[str]
    type: Optional[str]
    location: Optional[str]
    properties: Optional[OSVersionProperties]

class OSFamily:
    """Describes a cloud service OS family."""
    id: Optional[str]
    name: Optional[str]
    type: Optional[str]
    location: Optional[str]
    properties: Optional[OSFamilyProperties]

Usage Examples

Deploy Cloud Service

from azure.identity import DefaultAzureCredential
from azure.mgmt.compute import ComputeManagementClient

credential = DefaultAzureCredential()
compute_client = ComputeManagementClient(credential, "subscription-id")

# Create cloud service
cloud_service_parameters = {
    'location': 'East US',
    'properties': {
        'package_url': 'https://mystorageaccount.blob.core.windows.net/packages/service.cspkg',
        'configuration_url': 'https://mystorageaccount.blob.core.windows.net/configs/service.cscfg',
        'start_cloud_service': True,
        'upgrade_mode': 'Auto',
        'role_profile': {
            'roles': [
                {
                    'name': 'WebRole1',
                    'sku': {
                        'name': 'Standard_D1_v2',
                        'capacity': 2
                    }
                },
                {
                    'name': 'WorkerRole1', 
                    'sku': {
                        'name': 'Standard_D2_v2',
                        'capacity': 1
                    }
                }
            ]
        },
        'os_profile': {
            'secrets': []
        },
        'network_profile': {
            'load_balancer_configurations': [
                {
                    'name': 'myLB',
                    'properties': {
                        'frontend_ip_configurations': [
                            {
                                'name': 'myFrontEnd',
                                'properties': {
                                    'public_ip_address': {
                                        'id': '/subscriptions/.../publicIPAddresses/myPublicIP'
                                    }
                                }
                            }
                        ]
                    }
                }
            ]
        }
    },
    'tags': {
        'environment': 'production',
        'application': 'web-service'
    }
}

operation = compute_client.cloud_services.begin_create_or_update(
    'myResourceGroup',
    'myCloudService',
    cloud_service_parameters
)
cloud_service = operation.result()
print(f"Cloud service deployed: {cloud_service.name}")

Manage Cloud Service Roles

# List roles in the cloud service
roles = compute_client.cloud_service_roles.list(
    'myResourceGroup',
    'myCloudService'
)

for role in roles:
    print(f"Role: {role.name}")
    print(f"  SKU: {role.sku.name}")
    print(f"  Capacity: {role.sku.capacity}")

# List role instances
role_instances = compute_client.cloud_service_role_instances.list(
    'myResourceGroup',
    'myCloudService'
)

for instance in role_instances:
    print(f"Instance: {instance.name}")
    print(f"  State: {instance.properties.instance_view.statuses}")
    print(f"  Update Domain: {instance.properties.instance_view.update_domain}")
    print(f"  Fault Domain: {instance.properties.instance_view.fault_domain}")

Perform Rolling Updates

# List update domains
update_domains = compute_client.cloud_services_update_domain.list_update_domains(
    'myResourceGroup',
    'myCloudService'
)

print("Available update domains:")
for domain in update_domains:
    print(f"  Update Domain: {domain.id}")

# Walk update domain to apply updates
compute_client.cloud_services_update_domain.walk_update_domain(
    'myResourceGroup',
    'myCloudService',
    0  # Update domain 0
)
print("Update domain 0 walked successfully")

# Check status after update
cloud_service = compute_client.cloud_services.get(
    'myResourceGroup',
    'myCloudService'
)
print(f"Service provisioning state: {cloud_service.properties.provisioning_state}")

Manage Operating Systems

# List available OS families
os_families = compute_client.cloud_service_operating_systems.list_os_families('East US')

print("Available OS families:")
for family in os_families:
    print(f"  Family: {family.name}")
    print(f"  Label: {family.properties.label}")
    print(f"  Type: {family.properties.type}")

# List available OS versions for a specific family
os_versions = compute_client.cloud_service_operating_systems.list_os_versions('East US')

print("\nAvailable OS versions:")
for version in os_versions:
    print(f"  Version: {version.name}")
    print(f"  Family: {version.properties.family}")
    print(f"  Family Label: {version.properties.family_label}")
    print(f"  Active: {version.properties.is_active}")
    print(f"  Default: {version.properties.is_default}")

Monitor and Control Cloud Service

# Get detailed instance view
cloud_service = compute_client.cloud_services.get(
    'myResourceGroup',
    'myCloudService'
)

if cloud_service.properties:
    print(f"Unique ID: {cloud_service.properties.unique_id}")
    print(f"Provisioning State: {cloud_service.properties.provisioning_state}")

# Power operations
print("Stopping cloud service...")
operation = compute_client.cloud_services.begin_power_off(
    'myResourceGroup',
    'myCloudService'
)
operation.result()

print("Starting cloud service...")
operation = compute_client.cloud_services.begin_start(
    'myResourceGroup',
    'myCloudService'
)
operation.result()

# Restart specific role instance
operation = compute_client.cloud_service_role_instances.begin_restart(
    'myResourceGroup',
    'myCloudService',
    'WebRole1_IN_0'  # Instance name
)
operation.result()
print("Role instance restarted")

# Reimage role instance (reinstall OS)
operation = compute_client.cloud_service_role_instances.begin_reimage(
    'myResourceGroup',
    'myCloudService',
    'WebRole1_IN_0'
)
operation.result()
print("Role instance reimaged")

Install with Tessl CLI

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

docs

cloud-services.md

disks-storage.md

images-galleries.md

index.md

infrastructure.md

scale-sets.md

virtual-machines.md

tile.json