Skip to content

Commit

Permalink
CodeGen from PR 30475 in Azure/azure-rest-api-specs
Browse files Browse the repository at this point in the history
Merge 9b8e94dc078a0fea3f51a1506accc9dfc03001dd into cfe318beba82c1e5bda6a600f91de32cba814364
  • Loading branch information
SDKAuto committed Oct 18, 2024
1 parent 6a687e3 commit 3000b8f
Show file tree
Hide file tree
Showing 296 changed files with 17,191 additions and 2,927 deletions.
7 changes: 2 additions & 5 deletions sdk/costmanagement/azure-mgmt-costmanagement/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Microsoft Azure SDK for Python

This is the Microsoft Azure Cost Management Client Library.
This package has been tested with Python 3.7+.
This package has been tested with Python 3.8+.
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).

## _Disclaimer_
Expand All @@ -12,7 +12,7 @@ _Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For

### Prerequisites

- Python 3.7+ is required to use this package.
- Python 3.8+ is required to use this package.
- [Azure subscription](https://azure.microsoft.com/free/)

### Install the package
Expand Down Expand Up @@ -55,6 +55,3 @@ Code samples for this package can be found at:
If you encounter any bugs or have suggestions, please file an issue in the
[Issues](https://github.com/Azure/azure-sdk-for-python/issues)
section of the project.


![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-costmanagement%2FREADME.png)
10 changes: 5 additions & 5 deletions sdk/costmanagement/azure-mgmt-costmanagement/_meta.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"commit": "493aa7224fd65fe1e5b4cff59bcae5c6cdf4525e",
"commit": "1965fc2bc3d768ba68c90b4c4f888fdae298d357",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest": "3.9.2",
"autorest": "3.10.2",
"use": [
"@autorest/python@6.6.0",
"@autorest/modelerfour@4.24.3"
"@autorest/python@6.19.0",
"@autorest/modelerfour@4.27.0"
],
"autorest_command": "autorest specification/cost-management/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 --tag=package-2022-10 --use=@autorest/python@6.6.0 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
"autorest_command": "autorest specification/cost-management/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-python/sdk --use=@autorest/python@6.19.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False",
"readme": "specification/cost-management/resource-manager/readme.md"
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

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

Expand All @@ -19,22 +18,21 @@
from azure.core.credentials import TokenCredential


class CostManagementClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
class CostManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
"""Configuration for CostManagementClient.
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.
:type credential: ~azure.core.credentials.TokenCredential
:keyword api_version: Api Version. Default value is "2022-10-01". Note that overriding this
:keyword api_version: Api Version. Default value is "2024-08-01". Note that overriding this
default value may result in unsupported behavior.
:paramtype api_version: str
"""

def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None:
super(CostManagementClientConfiguration, self).__init__(**kwargs)
api_version: str = kwargs.pop("api_version", "2022-10-01")
api_version: str = kwargs.pop("api_version", "2024-08-01")

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand All @@ -43,6 +41,7 @@ def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None:
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-costmanagement/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)

def _configure(self, **kwargs: Any) -> None:
Expand All @@ -51,9 +50,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
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@

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 CostManagementClientConfiguration
Expand All @@ -19,9 +22,12 @@
AlertsOperations,
BenefitRecommendationsOperations,
BenefitUtilizationSummariesOperations,
BudgetsOperations,
CostAllocationRulesOperations,
DimensionsOperations,
ExportsOperations,
ForecastOperations,
GenerateBenefitUtilizationSummariesReportOperations,
GenerateCostDetailsReportOperations,
GenerateDetailedCostReportOperationResultsOperations,
GenerateDetailedCostReportOperationStatusOperations,
Expand All @@ -31,6 +37,7 @@
PriceSheetOperations,
QueryOperations,
ScheduledActionsOperations,
SettingsOperations,
ViewsOperations,
)

Expand All @@ -45,20 +52,21 @@ class CostManagementClient: # pylint: disable=client-accepts-api-version-keywor
:ivar operations: Operations operations
:vartype operations: azure.mgmt.costmanagement.operations.Operations
:ivar views: ViewsOperations operations
:vartype views: azure.mgmt.costmanagement.operations.ViewsOperations
:ivar alerts: AlertsOperations operations
:vartype alerts: azure.mgmt.costmanagement.operations.AlertsOperations
:ivar forecast: ForecastOperations operations
:vartype forecast: azure.mgmt.costmanagement.operations.ForecastOperations
:ivar dimensions: DimensionsOperations operations
:vartype dimensions: azure.mgmt.costmanagement.operations.DimensionsOperations
:ivar query: QueryOperations operations
:vartype query: azure.mgmt.costmanagement.operations.QueryOperations
:ivar generate_reservation_details_report: GenerateReservationDetailsReportOperations
operations
:vartype generate_reservation_details_report:
azure.mgmt.costmanagement.operations.GenerateReservationDetailsReportOperations
:ivar cost_allocation_rules: CostAllocationRulesOperations operations
:vartype cost_allocation_rules:
azure.mgmt.costmanagement.operations.CostAllocationRulesOperations
:ivar benefit_recommendations: BenefitRecommendationsOperations operations
:vartype benefit_recommendations:
azure.mgmt.costmanagement.operations.BenefitRecommendationsOperations
:ivar benefit_utilization_summaries: BenefitUtilizationSummariesOperations operations
:vartype benefit_utilization_summaries:
azure.mgmt.costmanagement.operations.BenefitUtilizationSummariesOperations
:ivar generate_benefit_utilization_summaries_report:
GenerateBenefitUtilizationSummariesReportOperations operations
:vartype generate_benefit_utilization_summaries_report:
azure.mgmt.costmanagement.operations.GenerateBenefitUtilizationSummariesReportOperations
:ivar budgets: BudgetsOperations operations
:vartype budgets: azure.mgmt.costmanagement.operations.BudgetsOperations
:ivar exports: ExportsOperations operations
:vartype exports: azure.mgmt.costmanagement.operations.ExportsOperations
:ivar generate_cost_details_report: GenerateCostDetailsReportOperations operations
Expand All @@ -75,21 +83,31 @@ class CostManagementClient: # pylint: disable=client-accepts-api-version-keywor
GenerateDetailedCostReportOperationStatusOperations operations
:vartype generate_detailed_cost_report_operation_status:
azure.mgmt.costmanagement.operations.GenerateDetailedCostReportOperationStatusOperations
:ivar views: ViewsOperations operations
:vartype views: azure.mgmt.costmanagement.operations.ViewsOperations
:ivar alerts: AlertsOperations operations
:vartype alerts: azure.mgmt.costmanagement.operations.AlertsOperations
:ivar forecast: ForecastOperations operations
:vartype forecast: azure.mgmt.costmanagement.operations.ForecastOperations
:ivar dimensions: DimensionsOperations operations
:vartype dimensions: azure.mgmt.costmanagement.operations.DimensionsOperations
:ivar query: QueryOperations operations
:vartype query: azure.mgmt.costmanagement.operations.QueryOperations
:ivar generate_reservation_details_report: GenerateReservationDetailsReportOperations
operations
:vartype generate_reservation_details_report:
azure.mgmt.costmanagement.operations.GenerateReservationDetailsReportOperations
:ivar price_sheet: PriceSheetOperations operations
:vartype price_sheet: azure.mgmt.costmanagement.operations.PriceSheetOperations
:ivar scheduled_actions: ScheduledActionsOperations operations
:vartype scheduled_actions: azure.mgmt.costmanagement.operations.ScheduledActionsOperations
:ivar benefit_recommendations: BenefitRecommendationsOperations operations
:vartype benefit_recommendations:
azure.mgmt.costmanagement.operations.BenefitRecommendationsOperations
:ivar benefit_utilization_summaries: BenefitUtilizationSummariesOperations operations
:vartype benefit_utilization_summaries:
azure.mgmt.costmanagement.operations.BenefitUtilizationSummariesOperations
:ivar settings: SettingsOperations operations
:vartype settings: azure.mgmt.costmanagement.operations.SettingsOperations
:param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials.TokenCredential
:param base_url: Service URL. Default value is "https://management.azure.com".
:type base_url: str
:keyword api_version: Api Version. Default value is "2022-10-01". Note that overriding this
:keyword api_version: Api Version. Default value is "2024-08-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
Expand All @@ -100,21 +118,44 @@ def __init__(
self, credential: "TokenCredential", base_url: str = "https://management.azure.com", **kwargs: Any
) -> None:
self._config = CostManagementClientConfiguration(credential=credential, **kwargs)
self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
_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=base_url, policies=_policies, **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.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.views = ViewsOperations(self._client, self._config, self._serialize, self._deserialize)
self.alerts = AlertsOperations(self._client, self._config, self._serialize, self._deserialize)
self.forecast = ForecastOperations(self._client, self._config, self._serialize, self._deserialize)
self.dimensions = DimensionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.query = QueryOperations(self._client, self._config, self._serialize, self._deserialize)
self.generate_reservation_details_report = GenerateReservationDetailsReportOperations(
self.cost_allocation_rules = CostAllocationRulesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.benefit_recommendations = BenefitRecommendationsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.benefit_utilization_summaries = BenefitUtilizationSummariesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.generate_benefit_utilization_summaries_report = GenerateBenefitUtilizationSummariesReportOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.budgets = BudgetsOperations(self._client, self._config, self._serialize, self._deserialize)
self.exports = ExportsOperations(self._client, self._config, self._serialize, self._deserialize)
self.generate_cost_details_report = GenerateCostDetailsReportOperations(
self._client, self._config, self._serialize, self._deserialize
Expand All @@ -128,18 +169,21 @@ def __init__(
self.generate_detailed_cost_report_operation_status = GenerateDetailedCostReportOperationStatusOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.price_sheet = PriceSheetOperations(self._client, self._config, self._serialize, self._deserialize)
self.scheduled_actions = ScheduledActionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.benefit_recommendations = BenefitRecommendationsOperations(
self.views = ViewsOperations(self._client, self._config, self._serialize, self._deserialize)
self.alerts = AlertsOperations(self._client, self._config, self._serialize, self._deserialize)
self.forecast = ForecastOperations(self._client, self._config, self._serialize, self._deserialize)
self.dimensions = DimensionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.query = QueryOperations(self._client, self._config, self._serialize, self._deserialize)
self.generate_reservation_details_report = GenerateReservationDetailsReportOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.benefit_utilization_summaries = BenefitUtilizationSummariesOperations(
self.price_sheet = PriceSheetOperations(self._client, self._config, self._serialize, self._deserialize)
self.scheduled_actions = ScheduledActionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.settings = SettingsOperations(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
Expand All @@ -159,12 +203,12 @@ 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)
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore

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

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

Expand Down
Loading

0 comments on commit 3000b8f

Please sign in to comment.