Skip to content

Commit

Permalink
CodeGen from PR 17458 in Azure/azure-rest-api-specs
Browse files Browse the repository at this point in the history
[S360 Correctness] Microsoft.Billing Adding missing property in GA swagger (Azure#17458)

* Adding totalCount to transactionList result

* Adding BilingProfileInfo on agreements to GA version

* Adding type object
  • Loading branch information
SDKAuto committed Jan 25, 2022
1 parent b9fd183 commit 879fb8a
Show file tree
Hide file tree
Showing 58 changed files with 7,978 additions and 9,049 deletions.
11 changes: 7 additions & 4 deletions sdk/billing/azure-mgmt-billing/_meta.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
"autorest": "3.3.0",
"use": "@autorest/python@5.6.6",
"commit": "1e43e60cfb0bb2829ff8d57a9ba06a2410f0b3c0",
"autorest": "3.7.2",
"use": [
"@autorest/python@5.12.0",
"@autorest/modelerfour@4.19.3"
],
"commit": "80e0bf225d3bb42a87d04696481b5c5ec4bef08a",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest_command": "autorest specification/billing/resource-manager/readme.md --multiapi --python --python-mode=update --python-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-python/sdk --track2 --use=@autorest/python@5.6.6 --version=3.3.0",
"autorest_command": "autorest specification/billing/resource-manager/readme.md --multiapi --python --python-mode=update --python-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-python/sdk --python3-only --track2 --use=@autorest/python@5.12.0 --use=@autorest/modelerfour@4.19.3 --version=3.7.2",
"readme": "specification/billing/resource-manager/readme.md"
}
9 changes: 4 additions & 5 deletions sdk/billing/azure-mgmt-billing/azure/mgmt/billing/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
__version__ = VERSION
__all__ = ['BillingManagementClient']

try:
from ._patch import patch_sdk # type: ignore
patch_sdk()
except ImportError:
pass
# `._patch.py` is used for handwritten extensions to the generated code
# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
from ._patch import patch_sdk
patch_sdk()
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,22 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from typing import TYPE_CHECKING
from copy import deepcopy
from typing import Any, Optional, TYPE_CHECKING

from azure.core.rest import HttpRequest, HttpResponse
from azure.mgmt.core import ARMPipelineClient
from msrest import Deserializer, Serializer

from . import models
from ._configuration import BillingManagementClientConfiguration
from .operations import AddressOperations, AgreementsOperations, AvailableBalancesOperations, BillingAccountsOperations, BillingPeriodsOperations, BillingPermissionsOperations, BillingProfilesOperations, BillingPropertyOperations, BillingRoleAssignmentsOperations, BillingRoleDefinitionsOperations, BillingSubscriptionsOperations, CustomersOperations, EnrollmentAccountsOperations, InstructionsOperations, InvoiceSectionsOperations, InvoicesOperations, Operations, PoliciesOperations, ProductsOperations, ReservationsOperations, TransactionsOperations

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any, Optional

from azure.core.credentials import TokenCredential
from azure.core.pipeline.transport import HttpRequest, HttpResponse

from ._configuration import BillingManagementClientConfiguration
from .operations import BillingAccountsOperations
from .operations import AddressOperations
from .operations import AvailableBalancesOperations
from .operations import InstructionsOperations
from .operations import BillingProfilesOperations
from .operations import CustomersOperations
from .operations import InvoiceSectionsOperations
from .operations import BillingPermissionsOperations
from .operations import BillingSubscriptionsOperations
from .operations import ProductsOperations
from .operations import InvoicesOperations
from .operations import TransactionsOperations
from .operations import PoliciesOperations
from .operations import BillingPropertyOperations
from .operations import Operations
from .operations import BillingRoleDefinitionsOperations
from .operations import BillingRoleAssignmentsOperations
from .operations import AgreementsOperations
from .operations import ReservationsOperations
from .operations import EnrollmentAccountsOperations
from .operations import BillingPeriodsOperations
from . import models


class BillingManagementClient(object):
class BillingManagementClient:
"""Billing client provides access to billing resources for Azure subscriptions.
:ivar billing_accounts: BillingAccountsOperations operations
Expand Down Expand Up @@ -77,9 +55,11 @@ class BillingManagementClient(object):
:ivar operations: Operations operations
:vartype operations: azure.mgmt.billing.operations.Operations
:ivar billing_role_definitions: BillingRoleDefinitionsOperations operations
:vartype billing_role_definitions: azure.mgmt.billing.operations.BillingRoleDefinitionsOperations
:vartype billing_role_definitions:
azure.mgmt.billing.operations.BillingRoleDefinitionsOperations
:ivar billing_role_assignments: BillingRoleAssignmentsOperations operations
:vartype billing_role_assignments: azure.mgmt.billing.operations.BillingRoleAssignmentsOperations
:vartype billing_role_assignments:
azure.mgmt.billing.operations.BillingRoleAssignmentsOperations
:ivar agreements: AgreementsOperations operations
:vartype agreements: azure.mgmt.billing.operations.AgreementsOperations
:ivar reservations: ReservationsOperations operations
Expand All @@ -92,88 +72,74 @@ class BillingManagementClient(object):
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The ID that uniquely identifies an Azure subscription.
:type subscription_id: str
:param str base_url: Service URL
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.
: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, # type: "TokenCredential"
subscription_id, # type: str
base_url=None, # type: Optional[str]
**kwargs # type: Any
):
# type: (...) -> None
if not base_url:
base_url = 'https://management.azure.com'
self._config = BillingManagementClientConfiguration(credential, subscription_id, **kwargs)
credential: "TokenCredential",
subscription_id: str,
base_url: str = "https://management.azure.com",
**kwargs: Any
) -> None:
self._config = BillingManagementClientConfiguration(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._serialize.client_side_validation = False
self._deserialize = Deserializer(client_models)

self.billing_accounts = BillingAccountsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.address = AddressOperations(
self._client, self._config, self._serialize, self._deserialize)
self.available_balances = AvailableBalancesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.instructions = InstructionsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.billing_profiles = BillingProfilesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.customers = CustomersOperations(
self._client, self._config, self._serialize, self._deserialize)
self.invoice_sections = InvoiceSectionsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.billing_permissions = BillingPermissionsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.billing_subscriptions = BillingSubscriptionsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.products = ProductsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.invoices = InvoicesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.transactions = TransactionsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.policies = PoliciesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.billing_property = BillingPropertyOperations(
self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(
self._client, self._config, self._serialize, self._deserialize)
self.billing_role_definitions = BillingRoleDefinitionsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.billing_role_assignments = BillingRoleAssignmentsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.agreements = AgreementsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.reservations = ReservationsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.enrollment_accounts = EnrollmentAccountsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.billing_periods = BillingPeriodsOperations(
self._client, self._config, self._serialize, self._deserialize)

def _send_request(self, http_request, **kwargs):
# type: (HttpRequest, Any) -> HttpResponse
self._serialize.client_side_validation = False
self.billing_accounts = BillingAccountsOperations(self._client, self._config, self._serialize, self._deserialize)
self.address = AddressOperations(self._client, self._config, self._serialize, self._deserialize)
self.available_balances = AvailableBalancesOperations(self._client, self._config, self._serialize, self._deserialize)
self.instructions = InstructionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.billing_profiles = BillingProfilesOperations(self._client, self._config, self._serialize, self._deserialize)
self.customers = CustomersOperations(self._client, self._config, self._serialize, self._deserialize)
self.invoice_sections = InvoiceSectionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.billing_permissions = BillingPermissionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.billing_subscriptions = BillingSubscriptionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.products = ProductsOperations(self._client, self._config, self._serialize, self._deserialize)
self.invoices = InvoicesOperations(self._client, self._config, self._serialize, self._deserialize)
self.transactions = TransactionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.policies = PoliciesOperations(self._client, self._config, self._serialize, self._deserialize)
self.billing_property = BillingPropertyOperations(self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.billing_role_definitions = BillingRoleDefinitionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.billing_role_assignments = BillingRoleAssignmentsOperations(self._client, self._config, self._serialize, self._deserialize)
self.agreements = AgreementsOperations(self._client, self._config, self._serialize, self._deserialize)
self.reservations = ReservationsOperations(self._client, self._config, self._serialize, self._deserialize)
self.enrollment_accounts = EnrollmentAccountsOperations(self._client, self._config, self._serialize, self._deserialize)
self.billing_periods = BillingPeriodsOperations(self._client, self._config, self._serialize, self._deserialize)


def _send_request(
self,
request, # type: HttpRequest
**kwargs: Any
) -> HttpResponse:
"""Runs the network request through the client's chained policies.
:param http_request: The network request you want to make. Required.
:type http_request: ~azure.core.pipeline.transport.HttpRequest
:keyword bool stream: Whether the response payload will be streamed. Defaults to True.
>>> 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/python/protocol/quickstart
: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.pipeline.transport.HttpResponse
:rtype: ~azure.core.rest.HttpResponse
"""
path_format_arguments = {
'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'),
}
http_request.url = self._client.format_url(http_request.url, **path_format_arguments)
stream = kwargs.pop("stream", True)
pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs)
return pipeline_response.http_response

request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
return self._client.send_request(request_copy, **kwargs)

def close(self):
# type: () -> None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,16 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from typing import TYPE_CHECKING
from typing import Any, TYPE_CHECKING

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

from ._version import VERSION

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any

from azure.core.credentials import TokenCredential


Expand All @@ -35,16 +33,15 @@ class BillingManagementClientConfiguration(Configuration):

def __init__(
self,
credential, # type: "TokenCredential"
subscription_id, # type: str
**kwargs # type: Any
):
# type: (...) -> None
credential: "TokenCredential",
subscription_id: str,
**kwargs: Any
) -> None:
super(BillingManagementClientConfiguration, self).__init__(**kwargs)
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
if subscription_id is None:
raise ValueError("Parameter 'subscription_id' must not be None.")
super(BillingManagementClientConfiguration, self).__init__(**kwargs)

self.credential = credential
self.subscription_id = subscription_id
Expand All @@ -67,4 +64,4 @@ def _configure(
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get('authentication_policy')
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs)
self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
Loading

0 comments on commit 879fb8a

Please sign in to comment.