Source code for azure.mgmt.automation._automation_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 as _models
from ._configuration import AutomationClientConfiguration
from ._serialization import Deserializer, Serializer
from .operations import (
    ActivityOperations,
    AgentRegistrationInformationOperations,
    AutomationAccountOperations,
    AutomationClientOperationsMixin,
    CertificateOperations,
    ConnectionOperations,
    ConnectionTypeOperations,
    CredentialOperations,
    DeletedAutomationAccountsOperations,
    DscCompilationJobOperations,
    DscCompilationJobStreamOperations,
    DscConfigurationOperations,
    DscNodeConfigurationOperations,
    DscNodeOperations,
    FieldsOperations,
    HybridRunbookWorkerGroupOperations,
    HybridRunbookWorkersOperations,
    JobOperations,
    JobScheduleOperations,
    JobStreamOperations,
    KeysOperations,
    LinkedWorkspaceOperations,
    ModuleOperations,
    NodeCountInformationOperations,
    NodeReportsOperations,
    ObjectDataTypesOperations,
    Operations,
    PrivateEndpointConnectionsOperations,
    PrivateLinkResourcesOperations,
    Python2PackageOperations,
    Python3PackageOperations,
    RunbookDraftOperations,
    RunbookOperations,
    ScheduleOperations,
    SoftwareUpdateConfigurationMachineRunsOperations,
    SoftwareUpdateConfigurationRunsOperations,
    SoftwareUpdateConfigurationsOperations,
    SourceControlOperations,
    SourceControlSyncJobOperations,
    SourceControlSyncJobStreamsOperations,
    StatisticsOperations,
    TestJobOperations,
    TestJobStreamsOperations,
    UsagesOperations,
    VariableOperations,
    WatcherOperations,
    WebhookOperations,
)

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


[docs]class AutomationClient( AutomationClientOperationsMixin ): # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes """Automation Client. :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations :vartype private_endpoint_connections: azure.mgmt.automation.operations.PrivateEndpointConnectionsOperations :ivar private_link_resources: PrivateLinkResourcesOperations operations :vartype private_link_resources: azure.mgmt.automation.operations.PrivateLinkResourcesOperations :ivar agent_registration_information: AgentRegistrationInformationOperations operations :vartype agent_registration_information: azure.mgmt.automation.operations.AgentRegistrationInformationOperations :ivar dsc_node: DscNodeOperations operations :vartype dsc_node: azure.mgmt.automation.operations.DscNodeOperations :ivar node_reports: NodeReportsOperations operations :vartype node_reports: azure.mgmt.automation.operations.NodeReportsOperations :ivar dsc_compilation_job: DscCompilationJobOperations operations :vartype dsc_compilation_job: azure.mgmt.automation.operations.DscCompilationJobOperations :ivar dsc_compilation_job_stream: DscCompilationJobStreamOperations operations :vartype dsc_compilation_job_stream: azure.mgmt.automation.operations.DscCompilationJobStreamOperations :ivar node_count_information: NodeCountInformationOperations operations :vartype node_count_information: azure.mgmt.automation.operations.NodeCountInformationOperations :ivar watcher: WatcherOperations operations :vartype watcher: azure.mgmt.automation.operations.WatcherOperations :ivar software_update_configurations: SoftwareUpdateConfigurationsOperations operations :vartype software_update_configurations: azure.mgmt.automation.operations.SoftwareUpdateConfigurationsOperations :ivar webhook: WebhookOperations operations :vartype webhook: azure.mgmt.automation.operations.WebhookOperations :ivar deleted_automation_accounts: DeletedAutomationAccountsOperations operations :vartype deleted_automation_accounts: azure.mgmt.automation.operations.DeletedAutomationAccountsOperations :ivar automation_account: AutomationAccountOperations operations :vartype automation_account: azure.mgmt.automation.operations.AutomationAccountOperations :ivar statistics: StatisticsOperations operations :vartype statistics: azure.mgmt.automation.operations.StatisticsOperations :ivar usages: UsagesOperations operations :vartype usages: azure.mgmt.automation.operations.UsagesOperations :ivar keys: KeysOperations operations :vartype keys: azure.mgmt.automation.operations.KeysOperations :ivar certificate: CertificateOperations operations :vartype certificate: azure.mgmt.automation.operations.CertificateOperations :ivar connection: ConnectionOperations operations :vartype connection: azure.mgmt.automation.operations.ConnectionOperations :ivar connection_type: ConnectionTypeOperations operations :vartype connection_type: azure.mgmt.automation.operations.ConnectionTypeOperations :ivar credential: CredentialOperations operations :vartype credential: azure.mgmt.automation.operations.CredentialOperations :ivar dsc_configuration: DscConfigurationOperations operations :vartype dsc_configuration: azure.mgmt.automation.operations.DscConfigurationOperations :ivar dsc_node_configuration: DscNodeConfigurationOperations operations :vartype dsc_node_configuration: azure.mgmt.automation.operations.DscNodeConfigurationOperations :ivar hybrid_runbook_workers: HybridRunbookWorkersOperations operations :vartype hybrid_runbook_workers: azure.mgmt.automation.operations.HybridRunbookWorkersOperations :ivar hybrid_runbook_worker_group: HybridRunbookWorkerGroupOperations operations :vartype hybrid_runbook_worker_group: azure.mgmt.automation.operations.HybridRunbookWorkerGroupOperations :ivar job: JobOperations operations :vartype job: azure.mgmt.automation.operations.JobOperations :ivar job_stream: JobStreamOperations operations :vartype job_stream: azure.mgmt.automation.operations.JobStreamOperations :ivar job_schedule: JobScheduleOperations operations :vartype job_schedule: azure.mgmt.automation.operations.JobScheduleOperations :ivar linked_workspace: LinkedWorkspaceOperations operations :vartype linked_workspace: azure.mgmt.automation.operations.LinkedWorkspaceOperations :ivar activity: ActivityOperations operations :vartype activity: azure.mgmt.automation.operations.ActivityOperations :ivar module: ModuleOperations operations :vartype module: azure.mgmt.automation.operations.ModuleOperations :ivar object_data_types: ObjectDataTypesOperations operations :vartype object_data_types: azure.mgmt.automation.operations.ObjectDataTypesOperations :ivar fields: FieldsOperations operations :vartype fields: azure.mgmt.automation.operations.FieldsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.automation.operations.Operations :ivar python2_package: Python2PackageOperations operations :vartype python2_package: azure.mgmt.automation.operations.Python2PackageOperations :ivar python3_package: Python3PackageOperations operations :vartype python3_package: azure.mgmt.automation.operations.Python3PackageOperations :ivar runbook_draft: RunbookDraftOperations operations :vartype runbook_draft: azure.mgmt.automation.operations.RunbookDraftOperations :ivar runbook: RunbookOperations operations :vartype runbook: azure.mgmt.automation.operations.RunbookOperations :ivar test_job_streams: TestJobStreamsOperations operations :vartype test_job_streams: azure.mgmt.automation.operations.TestJobStreamsOperations :ivar test_job: TestJobOperations operations :vartype test_job: azure.mgmt.automation.operations.TestJobOperations :ivar schedule: ScheduleOperations operations :vartype schedule: azure.mgmt.automation.operations.ScheduleOperations :ivar software_update_configuration_machine_runs: SoftwareUpdateConfigurationMachineRunsOperations operations :vartype software_update_configuration_machine_runs: azure.mgmt.automation.operations.SoftwareUpdateConfigurationMachineRunsOperations :ivar software_update_configuration_runs: SoftwareUpdateConfigurationRunsOperations operations :vartype software_update_configuration_runs: azure.mgmt.automation.operations.SoftwareUpdateConfigurationRunsOperations :ivar source_control: SourceControlOperations operations :vartype source_control: azure.mgmt.automation.operations.SourceControlOperations :ivar source_control_sync_job: SourceControlSyncJobOperations operations :vartype source_control_sync_job: azure.mgmt.automation.operations.SourceControlSyncJobOperations :ivar source_control_sync_job_streams: SourceControlSyncJobStreamsOperations operations :vartype source_control_sync_job_streams: azure.mgmt.automation.operations.SourceControlSyncJobStreamsOperations :ivar variable: VariableOperations operations :vartype variable: azure.mgmt.automation.operations.VariableOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. Required. :type subscription_id: str :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: 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 = AutomationClientConfiguration(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.private_endpoint_connections = PrivateEndpointConnectionsOperations( self._client, self._config, self._serialize, self._deserialize ) self.private_link_resources = PrivateLinkResourcesOperations( self._client, self._config, self._serialize, self._deserialize ) self.agent_registration_information = AgentRegistrationInformationOperations( self._client, self._config, self._serialize, self._deserialize ) self.dsc_node = DscNodeOperations(self._client, self._config, self._serialize, self._deserialize) self.node_reports = NodeReportsOperations(self._client, self._config, self._serialize, self._deserialize) self.dsc_compilation_job = DscCompilationJobOperations( self._client, self._config, self._serialize, self._deserialize ) self.dsc_compilation_job_stream = DscCompilationJobStreamOperations( self._client, self._config, self._serialize, self._deserialize ) self.node_count_information = NodeCountInformationOperations( self._client, self._config, self._serialize, self._deserialize ) self.watcher = WatcherOperations(self._client, self._config, self._serialize, self._deserialize) self.software_update_configurations = SoftwareUpdateConfigurationsOperations( self._client, self._config, self._serialize, self._deserialize ) self.webhook = WebhookOperations(self._client, self._config, self._serialize, self._deserialize) self.deleted_automation_accounts = DeletedAutomationAccountsOperations( self._client, self._config, self._serialize, self._deserialize ) self.automation_account = AutomationAccountOperations( self._client, self._config, self._serialize, self._deserialize ) self.statistics = StatisticsOperations(self._client, self._config, self._serialize, self._deserialize) self.usages = UsagesOperations(self._client, self._config, self._serialize, self._deserialize) self.keys = KeysOperations(self._client, self._config, self._serialize, self._deserialize) self.certificate = CertificateOperations(self._client, self._config, self._serialize, self._deserialize) self.connection = ConnectionOperations(self._client, self._config, self._serialize, self._deserialize) self.connection_type = ConnectionTypeOperations(self._client, self._config, self._serialize, self._deserialize) self.credential = CredentialOperations(self._client, self._config, self._serialize, self._deserialize) self.dsc_configuration = DscConfigurationOperations( self._client, self._config, self._serialize, self._deserialize ) self.dsc_node_configuration = DscNodeConfigurationOperations( self._client, self._config, self._serialize, self._deserialize ) self.hybrid_runbook_workers = HybridRunbookWorkersOperations( self._client, self._config, self._serialize, self._deserialize ) self.hybrid_runbook_worker_group = HybridRunbookWorkerGroupOperations( self._client, self._config, self._serialize, self._deserialize ) self.job = JobOperations(self._client, self._config, self._serialize, self._deserialize) self.job_stream = JobStreamOperations(self._client, self._config, self._serialize, self._deserialize) self.job_schedule = JobScheduleOperations(self._client, self._config, self._serialize, self._deserialize) self.linked_workspace = LinkedWorkspaceOperations( self._client, self._config, self._serialize, self._deserialize ) self.activity = ActivityOperations(self._client, self._config, self._serialize, self._deserialize) self.module = ModuleOperations(self._client, self._config, self._serialize, self._deserialize) self.object_data_types = ObjectDataTypesOperations( self._client, self._config, self._serialize, self._deserialize ) self.fields = FieldsOperations(self._client, self._config, self._serialize, self._deserialize) self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) self.python2_package = Python2PackageOperations(self._client, self._config, self._serialize, self._deserialize) self.python3_package = Python3PackageOperations(self._client, self._config, self._serialize, self._deserialize) self.runbook_draft = RunbookDraftOperations(self._client, self._config, self._serialize, self._deserialize) self.runbook = RunbookOperations(self._client, self._config, self._serialize, self._deserialize) self.test_job_streams = TestJobStreamsOperations(self._client, self._config, self._serialize, self._deserialize) self.test_job = TestJobOperations(self._client, self._config, self._serialize, self._deserialize) self.schedule = ScheduleOperations(self._client, self._config, self._serialize, self._deserialize) self.software_update_configuration_machine_runs = SoftwareUpdateConfigurationMachineRunsOperations( self._client, self._config, self._serialize, self._deserialize ) self.software_update_configuration_runs = SoftwareUpdateConfigurationRunsOperations( self._client, self._config, self._serialize, self._deserialize ) self.source_control = SourceControlOperations(self._client, self._config, self._serialize, self._deserialize) self.source_control_sync_job = SourceControlSyncJobOperations( self._client, self._config, self._serialize, self._deserialize ) self.source_control_sync_job_streams = SourceControlSyncJobStreamsOperations( self._client, self._config, self._serialize, self._deserialize ) self.variable = VariableOperations(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) -> None: self._client.close()
def __enter__(self) -> "AutomationClient": self._client.__enter__() return self def __exit__(self, *exc_details) -> None: self._client.__exit__(*exc_details)