Skip to content

Commit

Permalink
CodeGen from PR 32119 in Azure/azure-rest-api-specs
Browse files Browse the repository at this point in the history
Merge 1ff5e77588a36967c2d24437bc365c941a7e4ab7 into ffa149a9e348ce22e5f50d607c768457a25c0022
  • Loading branch information
SDKAuto committed Jan 24, 2025
1 parent f2f1e98 commit 91a94f1
Show file tree
Hide file tree
Showing 78 changed files with 11,538 additions and 9,749 deletions.
11 changes: 3 additions & 8 deletions sdk/chaos/azure-mgmt-chaos/_meta.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
{
"commit": "50f502f5099796ba92f63384884574d46333cec2",
"commit": "6dfc6a258509a1ae284e4f30f6fc9c0cbdee550d",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest": "3.9.7",
"use": [
"@autorest/python@6.7.1",
"@autorest/modelerfour@4.26.2"
],
"autorest_command": "autorest specification/chaos/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.7.1 --use=@autorest/modelerfour@4.26.2 --version=3.9.7 --version-tolerant=False",
"readme": "specification/chaos/resource-manager/readme.md"
"typespec_src": "specification/chaos/Chaos.Management",
"@azure-tools/typespec-python": "0.38.1"
}
14 changes: 10 additions & 4 deletions sdk/chaos/azure-mgmt-chaos/azure/mgmt/chaos/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,31 @@
# --------------------------------------------------------------------------
# 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.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wrong-import-position

from ._chaos_management_client import ChaosManagementClient
from typing import TYPE_CHECKING

if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._client import ChaosManagementClient # type: ignore
from ._version import VERSION

__version__ = VERSION

try:
from ._patch import __all__ as _patch_all
from ._patch import * # pylint: disable=unused-wildcard-import
from ._patch import *
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk

__all__ = [
"ChaosManagementClient",
]
__all__.extend([p for p in _patch_all if p not in __all__])
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore

_patch_sdk()
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,25 @@
# --------------------------------------------------------------------------
# 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.
# Code generated by Microsoft (R) Python 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 typing_extensions import Self

from azure.core.pipeline import policies
from azure.core.rest import HttpRequest, HttpResponse
from azure.mgmt.core import ARMPipelineClient
from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy

from . import models as _models
from ._configuration import ChaosManagementClientConfiguration
from ._serialization import Deserializer, Serializer
from .operations import (
CapabilitiesOperations,
CapabilityTypesOperations,
ExperimentExecutionsOperations,
ExperimentsOperations,
OperationStatusesOperations,
Operations,
Expand All @@ -26,35 +29,36 @@
)

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


class ChaosManagementClient: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes
class ChaosManagementClient: # pylint: disable=too-many-instance-attributes
"""Chaos Management Client.
:ivar capabilities: CapabilitiesOperations operations
:vartype capabilities: azure.mgmt.chaos.operations.CapabilitiesOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.chaos.operations.Operations
:ivar targets: TargetsOperations operations
:vartype targets: azure.mgmt.chaos.operations.TargetsOperations
:ivar capability_types: CapabilityTypesOperations operations
:vartype capability_types: azure.mgmt.chaos.operations.CapabilityTypesOperations
:ivar experiments: ExperimentsOperations operations
:vartype experiments: azure.mgmt.chaos.operations.ExperimentsOperations
:ivar operation_statuses: OperationStatusesOperations operations
:vartype operation_statuses: azure.mgmt.chaos.operations.OperationStatusesOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.chaos.operations.Operations
:ivar experiment_executions: ExperimentExecutionsOperations operations
:vartype experiment_executions: azure.mgmt.chaos.operations.ExperimentExecutionsOperations
:ivar target_types: TargetTypesOperations operations
:vartype target_types: azure.mgmt.chaos.operations.TargetTypesOperations
:ivar targets: TargetsOperations operations
:vartype targets: azure.mgmt.chaos.operations.TargetsOperations
:param credential: Credential needed for the client to connect to Azure. Required.
:ivar operation_statuses: OperationStatusesOperations operations
:vartype operation_statuses: azure.mgmt.chaos.operations.OperationStatusesOperations
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: GUID that represents an Azure subscription ID. Required.
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
:param base_url: Service URL. Default value is "https://management.azure.com".
:param base_url: Service host. Default value is "https://management.azure.com".
:type base_url: str
:keyword api_version: Api Version. Default value is "2024-01-01". Note that overriding this
default value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Default value is "2025-01-01".
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.
Expand All @@ -67,34 +71,55 @@ def __init__(
base_url: str = "https://management.azure.com",
**kwargs: Any
) -> None:
_endpoint = "{endpoint}"
self._config = ChaosManagementClientConfiguration(
credential=credential, subscription_id=subscription_id, **kwargs
credential=credential, subscription_id=subscription_id, base_url=base_url, **kwargs
)
self._client: ARMPipelineClient = 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)
_policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
policies.RequestIdPolicy(**kwargs),
self._config.headers_policy,
self._config.user_agent_policy,
self._config.proxy_policy,
policies.ContentDecodePolicy(**kwargs),
ARMAutoResourceProviderRegistrationPolicy(),
self._config.redirect_policy,
self._config.retry_policy,
self._config.authentication_policy,
self._config.custom_hook_policy,
self._config.logging_policy,
policies.DistributedTracingPolicy(**kwargs),
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
self._config.http_logging_policy,
]
self._client: ARMPipelineClient = ARMPipelineClient(base_url=_endpoint, policies=_policies, **kwargs)

self._serialize = Serializer()
self._deserialize = Deserializer()
self._serialize.client_side_validation = False
self.capabilities = CapabilitiesOperations(self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.targets = TargetsOperations(self._client, self._config, self._serialize, self._deserialize)
self.capability_types = CapabilityTypesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.experiments = ExperimentsOperations(self._client, self._config, self._serialize, self._deserialize)
self.operation_statuses = OperationStatusesOperations(
self.experiment_executions = ExperimentExecutionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.target_types = TargetTypesOperations(self._client, self._config, self._serialize, self._deserialize)
self.targets = TargetsOperations(self._client, self._config, self._serialize, self._deserialize)
self.operation_statuses = OperationStatusesOperations(
self._client, self._config, self._serialize, self._deserialize
)

def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
def send_request(self, request: HttpRequest, *, stream: bool = False, **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)
>>> response = client.send_request(request)
<HttpResponse: 200 OK>
For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request
Expand All @@ -107,13 +132,17 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
"""

request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
return self._client.send_request(request_copy, **kwargs)
path_format_arguments = {
"endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True),
}

request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments)
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore

def close(self) -> None:
self._client.close()

def __enter__(self) -> "ChaosManagementClient":
def __enter__(self) -> Self:
self._client.__enter__()
return self

Expand Down
31 changes: 19 additions & 12 deletions sdk/chaos/azure-mgmt-chaos/azure/mgmt/chaos/_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,46 @@
# --------------------------------------------------------------------------
# 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.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from typing import Any, TYPE_CHECKING

from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy

from ._version import VERSION

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


class ChaosManagementClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
class ChaosManagementClientConfiguration: # pylint: disable=too-many-instance-attributes
"""Configuration for ChaosManagementClient.
Note that all parameters used to create this instance are saved as instance
attributes.
:param credential: Credential needed for the client to connect to Azure. Required.
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: GUID that represents an Azure subscription ID. Required.
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
:keyword api_version: Api Version. Default value is "2024-01-01". Note that overriding this
default value may result in unsupported behavior.
:param base_url: Service host. Default value is "https://management.azure.com".
:type base_url: str
:keyword api_version: The API version to use for this operation. Default value is "2025-01-01".
Note that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
"""

def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
super(ChaosManagementClientConfiguration, self).__init__(**kwargs)
api_version: str = kwargs.pop("api_version", "2024-01-01")
def __init__(
self,
credential: "TokenCredential",
subscription_id: str,
base_url: str = "https://management.azure.com",
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2025-01-01")

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand All @@ -45,9 +50,11 @@ def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs

self.credential = credential
self.subscription_id = subscription_id
self.base_url = base_url
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-chaos/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)

def _configure(self, **kwargs: Any) -> None:
Expand All @@ -56,9 +63,9 @@ def _configure(self, **kwargs: Any) -> None:
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy:
self.authentication_policy = ARMChallengeAuthenticationPolicy(
Expand Down
Loading

0 comments on commit 91a94f1

Please sign in to comment.