Source code for azure.mgmt.devtestlabs._dev_test_labs_client

# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from copy import deepcopy
from typing import Any, TYPE_CHECKING

from azure.core.rest import HttpRequest, HttpResponse
from azure.mgmt.core import ARMPipelineClient

from . import models
from ._configuration import DevTestLabsClientConfiguration
from ._serialization import Deserializer, Serializer
from .operations import (
    ArmTemplatesOperations,
    ArtifactSourcesOperations,
    ArtifactsOperations,
    CostsOperations,
    CustomImagesOperations,
    DisksOperations,
    EnvironmentsOperations,
    FormulasOperations,
    GalleryImagesOperations,
    GlobalSchedulesOperations,
    LabsOperations,
    NotificationChannelsOperations,
    Operations,
    PoliciesOperations,
    PolicySetsOperations,
    ProviderOperationsOperations,
    SchedulesOperations,
    SecretsOperations,
    ServiceFabricSchedulesOperations,
    ServiceFabricsOperations,
    ServiceRunnersOperations,
    UsersOperations,
    VirtualMachineSchedulesOperations,
    VirtualMachinesOperations,
    VirtualNetworksOperations,
)

if TYPE_CHECKING:
    # pylint: disable=unused-import,ungrouped-imports
    from azure.core.credentials import TokenCredential


[docs]class DevTestLabsClient: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes """The DevTest Labs Client. :ivar provider_operations: ProviderOperationsOperations operations :vartype provider_operations: azure.mgmt.devtestlabs.operations.ProviderOperationsOperations :ivar labs: LabsOperations operations :vartype labs: azure.mgmt.devtestlabs.operations.LabsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.devtestlabs.operations.Operations :ivar global_schedules: GlobalSchedulesOperations operations :vartype global_schedules: azure.mgmt.devtestlabs.operations.GlobalSchedulesOperations :ivar artifact_sources: ArtifactSourcesOperations operations :vartype artifact_sources: azure.mgmt.devtestlabs.operations.ArtifactSourcesOperations :ivar arm_templates: ArmTemplatesOperations operations :vartype arm_templates: azure.mgmt.devtestlabs.operations.ArmTemplatesOperations :ivar artifacts: ArtifactsOperations operations :vartype artifacts: azure.mgmt.devtestlabs.operations.ArtifactsOperations :ivar costs: CostsOperations operations :vartype costs: azure.mgmt.devtestlabs.operations.CostsOperations :ivar custom_images: CustomImagesOperations operations :vartype custom_images: azure.mgmt.devtestlabs.operations.CustomImagesOperations :ivar formulas: FormulasOperations operations :vartype formulas: azure.mgmt.devtestlabs.operations.FormulasOperations :ivar gallery_images: GalleryImagesOperations operations :vartype gallery_images: azure.mgmt.devtestlabs.operations.GalleryImagesOperations :ivar notification_channels: NotificationChannelsOperations operations :vartype notification_channels: azure.mgmt.devtestlabs.operations.NotificationChannelsOperations :ivar policy_sets: PolicySetsOperations operations :vartype policy_sets: azure.mgmt.devtestlabs.operations.PolicySetsOperations :ivar policies: PoliciesOperations operations :vartype policies: azure.mgmt.devtestlabs.operations.PoliciesOperations :ivar schedules: SchedulesOperations operations :vartype schedules: azure.mgmt.devtestlabs.operations.SchedulesOperations :ivar service_runners: ServiceRunnersOperations operations :vartype service_runners: azure.mgmt.devtestlabs.operations.ServiceRunnersOperations :ivar users: UsersOperations operations :vartype users: azure.mgmt.devtestlabs.operations.UsersOperations :ivar disks: DisksOperations operations :vartype disks: azure.mgmt.devtestlabs.operations.DisksOperations :ivar environments: EnvironmentsOperations operations :vartype environments: azure.mgmt.devtestlabs.operations.EnvironmentsOperations :ivar secrets: SecretsOperations operations :vartype secrets: azure.mgmt.devtestlabs.operations.SecretsOperations :ivar service_fabrics: ServiceFabricsOperations operations :vartype service_fabrics: azure.mgmt.devtestlabs.operations.ServiceFabricsOperations :ivar service_fabric_schedules: ServiceFabricSchedulesOperations operations :vartype service_fabric_schedules: azure.mgmt.devtestlabs.operations.ServiceFabricSchedulesOperations :ivar virtual_machines: VirtualMachinesOperations operations :vartype virtual_machines: azure.mgmt.devtestlabs.operations.VirtualMachinesOperations :ivar virtual_machine_schedules: VirtualMachineSchedulesOperations operations :vartype virtual_machine_schedules: azure.mgmt.devtestlabs.operations.VirtualMachineSchedulesOperations :ivar virtual_networks: VirtualNetworksOperations operations :vartype virtual_networks: azure.mgmt.devtestlabs.operations.VirtualNetworksOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The subscription ID. Required. :type subscription_id: str :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: str :keyword api_version: Api Version. Default value is "2018-09-15". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( self, credential: "TokenCredential", subscription_id: str, base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: self._config = DevTestLabsClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False self.provider_operations = ProviderOperationsOperations( self._client, self._config, self._serialize, self._deserialize ) self.labs = LabsOperations(self._client, self._config, self._serialize, self._deserialize) self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) self.global_schedules = GlobalSchedulesOperations( self._client, self._config, self._serialize, self._deserialize ) self.artifact_sources = ArtifactSourcesOperations( self._client, self._config, self._serialize, self._deserialize ) self.arm_templates = ArmTemplatesOperations(self._client, self._config, self._serialize, self._deserialize) self.artifacts = ArtifactsOperations(self._client, self._config, self._serialize, self._deserialize) self.costs = CostsOperations(self._client, self._config, self._serialize, self._deserialize) self.custom_images = CustomImagesOperations(self._client, self._config, self._serialize, self._deserialize) self.formulas = FormulasOperations(self._client, self._config, self._serialize, self._deserialize) self.gallery_images = GalleryImagesOperations(self._client, self._config, self._serialize, self._deserialize) self.notification_channels = NotificationChannelsOperations( self._client, self._config, self._serialize, self._deserialize ) self.policy_sets = PolicySetsOperations(self._client, self._config, self._serialize, self._deserialize) self.policies = PoliciesOperations(self._client, self._config, self._serialize, self._deserialize) self.schedules = SchedulesOperations(self._client, self._config, self._serialize, self._deserialize) self.service_runners = ServiceRunnersOperations(self._client, self._config, self._serialize, self._deserialize) self.users = UsersOperations(self._client, self._config, self._serialize, self._deserialize) self.disks = DisksOperations(self._client, self._config, self._serialize, self._deserialize) self.environments = EnvironmentsOperations(self._client, self._config, self._serialize, self._deserialize) self.secrets = SecretsOperations(self._client, self._config, self._serialize, self._deserialize) self.service_fabrics = ServiceFabricsOperations(self._client, self._config, self._serialize, self._deserialize) self.service_fabric_schedules = ServiceFabricSchedulesOperations( self._client, self._config, self._serialize, self._deserialize ) self.virtual_machines = VirtualMachinesOperations( self._client, self._config, self._serialize, self._deserialize ) self.virtual_machine_schedules = VirtualMachineSchedulesOperations( self._client, self._config, self._serialize, self._deserialize ) self.virtual_networks = VirtualNetworksOperations( self._client, self._config, self._serialize, self._deserialize ) def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") <HttpRequest [GET], url: 'https://www.example.org/'> >>> response = client._send_request(request) <HttpResponse: 200 OK> For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request :param request: The network request you want to make. Required. :type request: ~azure.core.rest.HttpRequest :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. :rtype: ~azure.core.rest.HttpResponse """ request_copy = deepcopy(request) request_copy.url = self._client.format_url(request_copy.url) return self._client.send_request(request_copy, **kwargs)
[docs] def close(self): # type: () -> None self._client.close()
def __enter__(self): # type: () -> DevTestLabsClient self._client.__enter__() return self def __exit__(self, *exc_details): # type: (Any) -> None self._client.__exit__(*exc_details)