# 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 msrest.serialization import Model
from msrest.exceptions import HttpOperationError
[docs]class AppliedReservationList(Model):
"""AppliedReservationList.
:param value:
:type value: list[str]
:param next_link: Url to get the next page of reservations
:type next_link: str
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[str]'},
'next_link': {'key': 'nextLink', 'type': 'str'},
}
def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None:
super(AppliedReservationList, self).__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class AppliedReservations(Model):
"""AppliedReservations.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Identifier of the applied reservations
:vartype id: str
:ivar name: Name of resource
:vartype name: str
:ivar type: Type of resource. "Microsoft.Capacity/AppliedReservations"
:vartype type: str
:param reservation_order_ids:
:type reservation_order_ids:
~azure.mgmt.reservations.models.AppliedReservationList
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'reservation_order_ids': {'key': 'properties.reservationOrderIds', 'type': 'AppliedReservationList'},
}
def __init__(self, *, reservation_order_ids=None, **kwargs) -> None:
super(AppliedReservations, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.reservation_order_ids = reservation_order_ids
[docs]class AvailableScopeProperties(Model):
"""AvailableScopeProperties.
:param properties:
:type properties:
~azure.mgmt.reservations.models.SubscriptionScopeProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'SubscriptionScopeProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(AvailableScopeProperties, self).__init__(**kwargs)
self.properties = properties
[docs]class AvailableScopeRequest(Model):
"""Available scope.
:param properties:
:type properties:
~azure.mgmt.reservations.models.AvailableScopeRequestProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'AvailableScopeRequestProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(AvailableScopeRequest, self).__init__(**kwargs)
self.properties = properties
[docs]class AvailableScopeRequestProperties(Model):
"""Available scope request properties.
:param scopes:
:type scopes: list[str]
"""
_attribute_map = {
'scopes': {'key': 'scopes', 'type': '[str]'},
}
def __init__(self, *, scopes=None, **kwargs) -> None:
super(AvailableScopeRequestProperties, self).__init__(**kwargs)
self.scopes = scopes
[docs]class CalculateExchangeOperationResultResponse(Model):
"""CalculateExchange operation result.
:param id: It should match what is used to GET the operation result.
:type id: str
:param name: It must match the last segment of the id field, and will
typically be a GUID / system generated value.
:type name: str
:param status: Status of the operation. Possible values include:
'Succeeded', 'Failed', 'Cancelled', 'Pending'
:type status: str or
~azure.mgmt.reservations.models.CalculateExchangeOperationResultStatus
:param properties:
:type properties:
~azure.mgmt.reservations.models.CalculateExchangeResponseProperties
:param error:
:type error: ~azure.mgmt.reservations.models.OperationResultError
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'CalculateExchangeResponseProperties'},
'error': {'key': 'error', 'type': 'OperationResultError'},
}
def __init__(self, *, id: str=None, name: str=None, status=None, properties=None, error=None, **kwargs) -> None:
super(CalculateExchangeOperationResultResponse, self).__init__(**kwargs)
self.id = id
self.name = name
self.status = status
self.properties = properties
self.error = error
[docs]class CalculateExchangeRequest(Model):
"""Calculate exchange request.
:param properties:
:type properties:
~azure.mgmt.reservations.models.CalculateExchangeRequestProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'CalculateExchangeRequestProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(CalculateExchangeRequest, self).__init__(**kwargs)
self.properties = properties
[docs]class CalculateExchangeRequestProperties(Model):
"""Calculate exchange request properties.
:param reservations_to_purchase: List of reservations that are being
purchased in this exchange.
:type reservations_to_purchase:
list[~azure.mgmt.reservations.models.PurchaseRequest]
:param reservations_to_exchange: List of reservations that are being
returned in this exchange.
:type reservations_to_exchange:
list[~azure.mgmt.reservations.models.ReservationToReturn]
"""
_attribute_map = {
'reservations_to_purchase': {'key': 'reservationsToPurchase', 'type': '[PurchaseRequest]'},
'reservations_to_exchange': {'key': 'reservationsToExchange', 'type': '[ReservationToReturn]'},
}
def __init__(self, *, reservations_to_purchase=None, reservations_to_exchange=None, **kwargs) -> None:
super(CalculateExchangeRequestProperties, self).__init__(**kwargs)
self.reservations_to_purchase = reservations_to_purchase
self.reservations_to_exchange = reservations_to_exchange
[docs]class CalculateExchangeResponseProperties(Model):
"""CalculateExchange response properties.
:param session_id: Exchange session identifier
:type session_id: str
:param net_payable:
:type net_payable: ~azure.mgmt.reservations.models.Price
:param refunds_total:
:type refunds_total: ~azure.mgmt.reservations.models.Price
:param purchases_total:
:type purchases_total: ~azure.mgmt.reservations.models.Price
:param reservations_to_purchase: Details of the reservations being
purchased
:type reservations_to_purchase:
list[~azure.mgmt.reservations.models.ReservationToPurchaseCalculateExchange]
:param reservations_to_exchange: Details of the reservations being
returned
:type reservations_to_exchange:
list[~azure.mgmt.reservations.models.ReservationToExchange]
:param policy_result:
:type policy_result: ~azure.mgmt.reservations.models.ExchangePolicyErrors
"""
_attribute_map = {
'session_id': {'key': 'sessionId', 'type': 'str'},
'net_payable': {'key': 'netPayable', 'type': 'Price'},
'refunds_total': {'key': 'refundsTotal', 'type': 'Price'},
'purchases_total': {'key': 'purchasesTotal', 'type': 'Price'},
'reservations_to_purchase': {'key': 'reservationsToPurchase', 'type': '[ReservationToPurchaseCalculateExchange]'},
'reservations_to_exchange': {'key': 'reservationsToExchange', 'type': '[ReservationToExchange]'},
'policy_result': {'key': 'policyResult', 'type': 'ExchangePolicyErrors'},
}
def __init__(self, *, session_id: str=None, net_payable=None, refunds_total=None, purchases_total=None, reservations_to_purchase=None, reservations_to_exchange=None, policy_result=None, **kwargs) -> None:
super(CalculateExchangeResponseProperties, self).__init__(**kwargs)
self.session_id = session_id
self.net_payable = net_payable
self.refunds_total = refunds_total
self.purchases_total = purchases_total
self.reservations_to_purchase = reservations_to_purchase
self.reservations_to_exchange = reservations_to_exchange
self.policy_result = policy_result
[docs]class CalculatePriceResponse(Model):
"""CalculatePriceResponse.
:param properties:
:type properties:
~azure.mgmt.reservations.models.CalculatePriceResponseProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'CalculatePriceResponseProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(CalculatePriceResponse, self).__init__(**kwargs)
self.properties = properties
[docs]class CalculatePriceResponseProperties(Model):
"""CalculatePriceResponseProperties.
:param billing_currency_total: Currency and amount that customer will be
charged in customer's local currency. Tax is not included.
:type billing_currency_total:
~azure.mgmt.reservations.models.CalculatePriceResponsePropertiesBillingCurrencyTotal
:param is_billing_partner_managed: True if billing is managed by Microsoft
Partner. Used only for CSP accounts.
:type is_billing_partner_managed: bool
:param reservation_order_id: GUID that represents reservation order that
can be placed after calculating price.
:type reservation_order_id: str
:param sku_title: Title of SKU that is being purchased.
:type sku_title: str
:param sku_description: Description of SKU that is being purchased.
:type sku_description: str
:param pricing_currency_total: Amount that Microsoft uses for record. Used
during refund for calculating refund limit. Tax is not included.
:type pricing_currency_total:
~azure.mgmt.reservations.models.CalculatePriceResponsePropertiesPricingCurrencyTotal
:param payment_schedule:
:type payment_schedule:
list[~azure.mgmt.reservations.models.PaymentDetail]
"""
_attribute_map = {
'billing_currency_total': {'key': 'billingCurrencyTotal', 'type': 'CalculatePriceResponsePropertiesBillingCurrencyTotal'},
'is_billing_partner_managed': {'key': 'isBillingPartnerManaged', 'type': 'bool'},
'reservation_order_id': {'key': 'reservationOrderId', 'type': 'str'},
'sku_title': {'key': 'skuTitle', 'type': 'str'},
'sku_description': {'key': 'skuDescription', 'type': 'str'},
'pricing_currency_total': {'key': 'pricingCurrencyTotal', 'type': 'CalculatePriceResponsePropertiesPricingCurrencyTotal'},
'payment_schedule': {'key': 'paymentSchedule', 'type': '[PaymentDetail]'},
}
def __init__(self, *, billing_currency_total=None, is_billing_partner_managed: bool=None, reservation_order_id: str=None, sku_title: str=None, sku_description: str=None, pricing_currency_total=None, payment_schedule=None, **kwargs) -> None:
super(CalculatePriceResponseProperties, self).__init__(**kwargs)
self.billing_currency_total = billing_currency_total
self.is_billing_partner_managed = is_billing_partner_managed
self.reservation_order_id = reservation_order_id
self.sku_title = sku_title
self.sku_description = sku_description
self.pricing_currency_total = pricing_currency_total
self.payment_schedule = payment_schedule
[docs]class CalculatePriceResponsePropertiesBillingCurrencyTotal(Model):
"""Currency and amount that customer will be charged in customer's local
currency. Tax is not included.
:param currency_code:
:type currency_code: str
:param amount:
:type amount: float
"""
_attribute_map = {
'currency_code': {'key': 'currencyCode', 'type': 'str'},
'amount': {'key': 'amount', 'type': 'float'},
}
def __init__(self, *, currency_code: str=None, amount: float=None, **kwargs) -> None:
super(CalculatePriceResponsePropertiesBillingCurrencyTotal, self).__init__(**kwargs)
self.currency_code = currency_code
self.amount = amount
[docs]class CalculatePriceResponsePropertiesPricingCurrencyTotal(Model):
"""Amount that Microsoft uses for record. Used during refund for calculating
refund limit. Tax is not included.
:param currency_code:
:type currency_code: str
:param amount:
:type amount: float
"""
_attribute_map = {
'currency_code': {'key': 'currencyCode', 'type': 'str'},
'amount': {'key': 'amount', 'type': 'float'},
}
def __init__(self, *, currency_code: str=None, amount: float=None, **kwargs) -> None:
super(CalculatePriceResponsePropertiesPricingCurrencyTotal, self).__init__(**kwargs)
self.currency_code = currency_code
self.amount = amount
[docs]class Catalog(Model):
"""Catalog.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar resource_type: The type of resource the SKU applies to.
:vartype resource_type: str
:ivar name: The name of SKU
:vartype name: str
:param billing_plans: The billing plan options available for this SKU.
:type billing_plans: dict[str, list[str or
~azure.mgmt.reservations.models.ReservationBillingPlan]]
:ivar terms: Available reservation terms for this resource
:vartype terms: list[str or
~azure.mgmt.reservations.models.ReservationTerm]
:ivar locations:
:vartype locations: list[str]
:ivar sku_properties:
:vartype sku_properties: list[~azure.mgmt.reservations.models.SkuProperty]
:ivar restrictions:
:vartype restrictions:
list[~azure.mgmt.reservations.models.SkuRestriction]
"""
_validation = {
'resource_type': {'readonly': True},
'name': {'readonly': True},
'terms': {'readonly': True},
'locations': {'readonly': True},
'sku_properties': {'readonly': True},
'restrictions': {'readonly': True},
}
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'billing_plans': {'key': 'billingPlans', 'type': '{[str]}'},
'terms': {'key': 'terms', 'type': '[str]'},
'locations': {'key': 'locations', 'type': '[str]'},
'sku_properties': {'key': 'skuProperties', 'type': '[SkuProperty]'},
'restrictions': {'key': 'restrictions', 'type': '[SkuRestriction]'},
}
def __init__(self, *, billing_plans=None, **kwargs) -> None:
super(Catalog, self).__init__(**kwargs)
self.resource_type = None
self.name = None
self.billing_plans = billing_plans
self.terms = None
self.locations = None
self.sku_properties = None
self.restrictions = None
class CloudError(Model):
"""CloudError.
"""
_attribute_map = {
}
[docs]class CreateGenericQuotaRequestParameters(Model):
"""Quota change requests information.
:param value: Quota change requests.
:type value: list[~azure.mgmt.reservations.models.CurrentQuotaLimitBase]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[CurrentQuotaLimitBase]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(CreateGenericQuotaRequestParameters, self).__init__(**kwargs)
self.value = value
[docs]class CurrentQuotaLimit(Model):
"""Current quota limits.
Variables are only populated by the server, and will be ignored when
sending a request.
:param properties: Quota properties for the resource.
:type properties: ~azure.mgmt.reservations.models.QuotaProperties
:ivar provisioning_state: The details of the quota request status.
:vartype provisioning_state: object
:ivar message: A user friendly message.
:vartype message: str
"""
_validation = {
'provisioning_state': {'readonly': True},
'message': {'readonly': True},
}
_attribute_map = {
'properties': {'key': 'quotaInformation.properties', 'type': 'QuotaProperties'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'object'},
'message': {'key': 'properties.message', 'type': 'str'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(CurrentQuotaLimit, self).__init__(**kwargs)
self.properties = properties
self.provisioning_state = None
self.message = None
[docs]class CurrentQuotaLimitBase(Model):
"""Quota properties.
:param properties: Quota properties for the resource.
:type properties: ~azure.mgmt.reservations.models.QuotaProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'QuotaProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(CurrentQuotaLimitBase, self).__init__(**kwargs)
self.properties = properties
[docs]class Error(Model):
"""Error.
:param error:
:type error: ~azure.mgmt.reservations.models.ExtendedErrorInfo
"""
_attribute_map = {
'error': {'key': 'error', 'type': 'ExtendedErrorInfo'},
}
def __init__(self, *, error=None, **kwargs) -> None:
super(Error, self).__init__(**kwargs)
self.error = error
[docs]class ErrorException(HttpOperationError):
"""Server responsed with exception of type: 'Error'.
:param deserialize: A deserializer
:param response: Server response to be deserialized.
"""
def __init__(self, deserialize, response, *args):
super(ErrorException, self).__init__(deserialize, response, 'Error', *args)
[docs]class ExceptionResponse(Model):
"""The API error.
:param error: The API error details.
:type error: ~azure.mgmt.reservations.models.ServiceError
"""
_attribute_map = {
'error': {'key': 'error', 'type': 'ServiceError'},
}
def __init__(self, *, error=None, **kwargs) -> None:
super(ExceptionResponse, self).__init__(**kwargs)
self.error = error
[docs]class ExceptionResponseException(HttpOperationError):
"""Server responsed with exception of type: 'ExceptionResponse'.
:param deserialize: A deserializer
:param response: Server response to be deserialized.
"""
def __init__(self, deserialize, response, *args):
super(ExceptionResponseException, self).__init__(deserialize, response, 'ExceptionResponse', *args)
[docs]class ExchangeOperationResultResponse(Model):
"""Exchange operation result.
:param id: It should match what is used to GET the operation result.
:type id: str
:param name: It must match the last segment of the id field, and will
typically be a GUID / system generated value.
:type name: str
:param status: Status of the operation. Possible values include:
'Succeeded', 'Failed', 'Cancelled', 'PendingRefunds', 'PendingPurchases'
:type status: str or
~azure.mgmt.reservations.models.ExchangeOperationResultStatus
:param properties:
:type properties:
~azure.mgmt.reservations.models.ExchangeResponseProperties
:param error:
:type error: ~azure.mgmt.reservations.models.OperationResultError
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ExchangeResponseProperties'},
'error': {'key': 'error', 'type': 'OperationResultError'},
}
def __init__(self, *, id: str=None, name: str=None, status=None, properties=None, error=None, **kwargs) -> None:
super(ExchangeOperationResultResponse, self).__init__(**kwargs)
self.id = id
self.name = name
self.status = status
self.properties = properties
self.error = error
[docs]class ExchangePolicyError(Model):
"""error details.
:param code:
:type code: str
:param message:
:type message: str
"""
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None:
super(ExchangePolicyError, self).__init__(**kwargs)
self.code = code
self.message = message
[docs]class ExchangePolicyErrors(Model):
"""Exchange policy errors.
:param policy_errors: Exchange Policy errors
:type policy_errors:
list[~azure.mgmt.reservations.models.ExchangePolicyError]
"""
_attribute_map = {
'policy_errors': {'key': 'policyErrors', 'type': '[ExchangePolicyError]'},
}
def __init__(self, *, policy_errors=None, **kwargs) -> None:
super(ExchangePolicyErrors, self).__init__(**kwargs)
self.policy_errors = policy_errors
[docs]class ExchangeRequest(Model):
"""Exchange request.
:param properties:
:type properties:
~azure.mgmt.reservations.models.ExchangeRequestProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'ExchangeRequestProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(ExchangeRequest, self).__init__(**kwargs)
self.properties = properties
[docs]class ExchangeRequestProperties(Model):
"""Exchange request properties.
:param session_id: SessionId that was returned by CalculateExchange API.
:type session_id: str
"""
_attribute_map = {
'session_id': {'key': 'sessionId', 'type': 'str'},
}
def __init__(self, *, session_id: str=None, **kwargs) -> None:
super(ExchangeRequestProperties, self).__init__(**kwargs)
self.session_id = session_id
[docs]class ExchangeResponseProperties(Model):
"""Exchange response properties.
:param session_id: Exchange session identifier
:type session_id: str
:param net_payable:
:type net_payable: ~azure.mgmt.reservations.models.Price
:param refunds_total:
:type refunds_total: ~azure.mgmt.reservations.models.Price
:param purchases_total:
:type purchases_total: ~azure.mgmt.reservations.models.Price
:param reservations_to_purchase: Details of the reservations being
purchased
:type reservations_to_purchase:
list[~azure.mgmt.reservations.models.ReservationToPurchaseExchange]
:param reservations_to_exchange: Details of the reservations being
returned
:type reservations_to_exchange:
list[~azure.mgmt.reservations.models.ReservationToReturnForExchange]
:param policy_result:
:type policy_result: ~azure.mgmt.reservations.models.ExchangePolicyErrors
"""
_attribute_map = {
'session_id': {'key': 'sessionId', 'type': 'str'},
'net_payable': {'key': 'netPayable', 'type': 'Price'},
'refunds_total': {'key': 'refundsTotal', 'type': 'Price'},
'purchases_total': {'key': 'purchasesTotal', 'type': 'Price'},
'reservations_to_purchase': {'key': 'reservationsToPurchase', 'type': '[ReservationToPurchaseExchange]'},
'reservations_to_exchange': {'key': 'reservationsToExchange', 'type': '[ReservationToReturnForExchange]'},
'policy_result': {'key': 'policyResult', 'type': 'ExchangePolicyErrors'},
}
def __init__(self, *, session_id: str=None, net_payable=None, refunds_total=None, purchases_total=None, reservations_to_purchase=None, reservations_to_exchange=None, policy_result=None, **kwargs) -> None:
super(ExchangeResponseProperties, self).__init__(**kwargs)
self.session_id = session_id
self.net_payable = net_payable
self.refunds_total = refunds_total
self.purchases_total = purchases_total
self.reservations_to_purchase = reservations_to_purchase
self.reservations_to_exchange = reservations_to_exchange
self.policy_result = policy_result
[docs]class ExtendedErrorInfo(Model):
"""ExtendedErrorInfo.
:param code: Possible values include: 'NotSpecified',
'InternalServerError', 'ServerTimeout', 'AuthorizationFailed',
'BadRequest', 'ClientCertificateThumbprintNotSet',
'InvalidRequestContent', 'OperationFailed', 'HttpMethodNotSupported',
'InvalidRequestUri', 'MissingTenantId', 'InvalidTenantId',
'InvalidReservationOrderId', 'InvalidReservationId',
'ReservationIdNotInReservationOrder', 'ReservationOrderNotFound',
'InvalidSubscriptionId', 'InvalidAccessToken', 'InvalidLocationId',
'UnauthenticatedRequestsThrottled', 'InvalidHealthCheckType', 'Forbidden',
'BillingScopeIdCannotBeChanged',
'AppliedScopesNotAssociatedWithCommerceAccount',
'PatchValuesSameAsExisting', 'RoleAssignmentCreationFailed',
'ReservationOrderCreationFailed', 'ReservationOrderNotEnabled',
'CapacityUpdateScopesFailed', 'UnsupportedReservationTerm',
'ReservationOrderIdAlreadyExists', 'RiskCheckFailed', 'CreateQuoteFailed',
'ActivateQuoteFailed', 'NonsupportedAccountId',
'PaymentInstrumentNotFound', 'MissingAppliedScopesForSingle',
'NoValidReservationsToReRate', 'ReRateOnlyAllowedForEA',
'OperationCannotBePerformedInCurrentState',
'InvalidSingleAppliedScopesCount', 'InvalidFulfillmentRequestParameters',
'NotSupportedCountry', 'InvalidRefundQuantity', 'PurchaseError',
'BillingCustomerInputError', 'BillingPaymentInstrumentSoftError',
'BillingPaymentInstrumentHardError', 'BillingTransientError',
'BillingError', 'FulfillmentConfigurationError',
'FulfillmentOutOfStockError', 'FulfillmentTransientError',
'FulfillmentError', 'CalculatePriceFailed'
:type code: str or ~azure.mgmt.reservations.models.ErrorResponseCode
:param message:
:type message: str
"""
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, code=None, message: str=None, **kwargs) -> None:
super(ExtendedErrorInfo, self).__init__(**kwargs)
self.code = code
self.message = message
[docs]class ExtendedStatusInfo(Model):
"""ExtendedStatusInfo.
:param status_code: Possible values include: 'None', 'Pending', 'Active',
'PurchaseError', 'PaymentInstrumentError', 'Split', 'Merged', 'Expired',
'Succeeded'
:type status_code: str or
~azure.mgmt.reservations.models.ReservationStatusCode
:param message: The message giving detailed information about the status
code.
:type message: str
"""
_attribute_map = {
'status_code': {'key': 'statusCode', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, status_code=None, message: str=None, **kwargs) -> None:
super(ExtendedStatusInfo, self).__init__(**kwargs)
self.status_code = status_code
self.message = message
[docs]class MergeRequest(Model):
"""MergeRequest.
:param sources: Format of the resource id should be
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}
:type sources: list[str]
"""
_attribute_map = {
'sources': {'key': 'properties.sources', 'type': '[str]'},
}
def __init__(self, *, sources=None, **kwargs) -> None:
super(MergeRequest, self).__init__(**kwargs)
self.sources = sources
[docs]class OperationDisplay(Model):
"""OperationDisplay.
:param provider:
:type provider: str
:param resource:
:type resource: str
:param operation:
:type operation: str
:param description:
:type description: str
"""
_attribute_map = {
'provider': {'key': 'provider', 'type': 'str'},
'resource': {'key': 'resource', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
}
def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None:
super(OperationDisplay, self).__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class OperationResponse(Model):
"""OperationResponse.
:param name:
:type name: str
:param display:
:type display: ~azure.mgmt.reservations.models.OperationDisplay
:param origin:
:type origin: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'OperationDisplay'},
'origin': {'key': 'origin', 'type': 'str'},
}
def __init__(self, *, name: str=None, display=None, origin: str=None, **kwargs) -> None:
super(OperationResponse, self).__init__(**kwargs)
self.name = name
self.display = display
self.origin = origin
[docs]class OperationResultError(Model):
"""Required if status == failed or status == canceled.
:param code: Required if status == failed or status == cancelled. If
status == failed, provide an invariant error code used for error
troubleshooting, aggregation, and analysis.
:type code: str
:param message: Required if status == failed. Localized. If status ==
failed, provide an actionable error message indicating what error
occurred, and what the user can do to address the issue.
:type message: str
"""
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None:
super(OperationResultError, self).__init__(**kwargs)
self.code = code
self.message = message
[docs]class Patch(Model):
"""Patch.
:param applied_scope_type: Possible values include: 'Single', 'Shared'
:type applied_scope_type: str or
~azure.mgmt.reservations.models.AppliedScopeType
:param applied_scopes:
:type applied_scopes: list[str]
:param instance_flexibility: Possible values include: 'On', 'Off'
:type instance_flexibility: str or
~azure.mgmt.reservations.models.InstanceFlexibility
:param name: Name of the Reservation
:type name: str
:param renew:
:type renew: bool
:param renew_properties:
:type renew_properties:
~azure.mgmt.reservations.models.PatchPropertiesRenewProperties
"""
_attribute_map = {
'applied_scope_type': {'key': 'properties.appliedScopeType', 'type': 'str'},
'applied_scopes': {'key': 'properties.appliedScopes', 'type': '[str]'},
'instance_flexibility': {'key': 'properties.instanceFlexibility', 'type': 'str'},
'name': {'key': 'properties.name', 'type': 'str'},
'renew': {'key': 'properties.renew', 'type': 'bool'},
'renew_properties': {'key': 'properties.renewProperties', 'type': 'PatchPropertiesRenewProperties'},
}
def __init__(self, *, applied_scope_type=None, applied_scopes=None, instance_flexibility=None, name: str=None, renew: bool=None, renew_properties=None, **kwargs) -> None:
super(Patch, self).__init__(**kwargs)
self.applied_scope_type = applied_scope_type
self.applied_scopes = applied_scopes
self.instance_flexibility = instance_flexibility
self.name = name
self.renew = renew
self.renew_properties = renew_properties
[docs]class PatchPropertiesRenewProperties(Model):
"""PatchPropertiesRenewProperties.
:param purchase_properties:
:type purchase_properties: ~azure.mgmt.reservations.models.PurchaseRequest
"""
_attribute_map = {
'purchase_properties': {'key': 'purchaseProperties', 'type': 'PurchaseRequest'},
}
def __init__(self, *, purchase_properties=None, **kwargs) -> None:
super(PatchPropertiesRenewProperties, self).__init__(**kwargs)
self.purchase_properties = purchase_properties
[docs]class PaymentDetail(Model):
"""Information about payment related to a reservation order.
:param due_date: Date when the payment needs to be done.
:type due_date: date
:param payment_date: Date when the transaction is completed. Is null when
it is scheduled.
:type payment_date: date
:param pricing_currency_total: Amount in pricing currency. Tax not
included.
:type pricing_currency_total: ~azure.mgmt.reservations.models.Price
:param billing_currency_total: Amount charged in Billing currency. Tax not
included. Is null for future payments
:type billing_currency_total: ~azure.mgmt.reservations.models.Price
:param billing_account: Shows the Account that is charged for this
payment.
:type billing_account: str
:param status: Possible values include: 'Succeeded', 'Failed',
'Scheduled', 'Cancelled'
:type status: str or ~azure.mgmt.reservations.models.PaymentStatus
:param extended_status_info:
:type extended_status_info:
~azure.mgmt.reservations.models.ExtendedStatusInfo
"""
_attribute_map = {
'due_date': {'key': 'dueDate', 'type': 'date'},
'payment_date': {'key': 'paymentDate', 'type': 'date'},
'pricing_currency_total': {'key': 'pricingCurrencyTotal', 'type': 'Price'},
'billing_currency_total': {'key': 'billingCurrencyTotal', 'type': 'Price'},
'billing_account': {'key': 'billingAccount', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'extended_status_info': {'key': 'extendedStatusInfo', 'type': 'ExtendedStatusInfo'},
}
def __init__(self, *, due_date=None, payment_date=None, pricing_currency_total=None, billing_currency_total=None, billing_account: str=None, status=None, extended_status_info=None, **kwargs) -> None:
super(PaymentDetail, self).__init__(**kwargs)
self.due_date = due_date
self.payment_date = payment_date
self.pricing_currency_total = pricing_currency_total
self.billing_currency_total = billing_currency_total
self.billing_account = billing_account
self.status = status
self.extended_status_info = extended_status_info
[docs]class Price(Model):
"""Price.
:param currency_code: The ISO 4217 3-letter currency code for the currency
used by this purchase record.
:type currency_code: str
:param amount:
:type amount: float
"""
_attribute_map = {
'currency_code': {'key': 'currencyCode', 'type': 'str'},
'amount': {'key': 'amount', 'type': 'float'},
}
def __init__(self, *, currency_code: str=None, amount: float=None, **kwargs) -> None:
super(Price, self).__init__(**kwargs)
self.currency_code = currency_code
self.amount = amount
[docs]class PurchaseRequest(Model):
"""PurchaseRequest.
:param sku:
:type sku: ~azure.mgmt.reservations.models.SkuName
:param location: The Azure Region where the reserved resource lives.
:type location: str
:param reserved_resource_type: Possible values include: 'VirtualMachines',
'SqlDatabases', 'SuseLinux', 'CosmosDb', 'RedHat', 'SqlDataWarehouse',
'VMwareCloudSimple', 'RedHatOsa', 'Databricks', 'AppService',
'ManagedDisk', 'BlockBlob', 'RedisCache', 'AzureDataExplorer', 'MySql',
'MariaDb', 'PostgreSql', 'DedicatedHost', 'SapHana',
'SqlAzureHybridBenefit'
:type reserved_resource_type: str or
~azure.mgmt.reservations.models.ReservedResourceType
:param billing_scope_id:
:type billing_scope_id: str
:param term: Possible values include: 'P1Y', 'P3Y'
:type term: str or ~azure.mgmt.reservations.models.ReservationTerm
:param billing_plan: Possible values include: 'Upfront', 'Monthly'
:type billing_plan: str or
~azure.mgmt.reservations.models.ReservationBillingPlan
:param quantity:
:type quantity: int
:param display_name: Friendly name of the Reservation
:type display_name: str
:param applied_scope_type: Possible values include: 'Single', 'Shared'
:type applied_scope_type: str or
~azure.mgmt.reservations.models.AppliedScopeType
:param applied_scopes:
:type applied_scopes: list[str]
:param renew:
:type renew: bool
:param reserved_resource_properties: Properties specific to each reserved
resource type. Not required if not applicable.
:type reserved_resource_properties:
~azure.mgmt.reservations.models.PurchaseRequestPropertiesReservedResourceProperties
"""
_attribute_map = {
'sku': {'key': 'sku', 'type': 'SkuName'},
'location': {'key': 'location', 'type': 'str'},
'reserved_resource_type': {'key': 'properties.reservedResourceType', 'type': 'str'},
'billing_scope_id': {'key': 'properties.billingScopeId', 'type': 'str'},
'term': {'key': 'properties.term', 'type': 'str'},
'billing_plan': {'key': 'properties.billingPlan', 'type': 'str'},
'quantity': {'key': 'properties.quantity', 'type': 'int'},
'display_name': {'key': 'properties.displayName', 'type': 'str'},
'applied_scope_type': {'key': 'properties.appliedScopeType', 'type': 'str'},
'applied_scopes': {'key': 'properties.appliedScopes', 'type': '[str]'},
'renew': {'key': 'properties.renew', 'type': 'bool'},
'reserved_resource_properties': {'key': 'properties.reservedResourceProperties', 'type': 'PurchaseRequestPropertiesReservedResourceProperties'},
}
def __init__(self, *, sku=None, location: str=None, reserved_resource_type=None, billing_scope_id: str=None, term=None, billing_plan=None, quantity: int=None, display_name: str=None, applied_scope_type=None, applied_scopes=None, renew: bool=None, reserved_resource_properties=None, **kwargs) -> None:
super(PurchaseRequest, self).__init__(**kwargs)
self.sku = sku
self.location = location
self.reserved_resource_type = reserved_resource_type
self.billing_scope_id = billing_scope_id
self.term = term
self.billing_plan = billing_plan
self.quantity = quantity
self.display_name = display_name
self.applied_scope_type = applied_scope_type
self.applied_scopes = applied_scopes
self.renew = renew
self.reserved_resource_properties = reserved_resource_properties
[docs]class PurchaseRequestPropertiesReservedResourceProperties(Model):
"""Properties specific to each reserved resource type. Not required if not
applicable.
:param instance_flexibility: Possible values include: 'On', 'Off'
:type instance_flexibility: str or
~azure.mgmt.reservations.models.InstanceFlexibility
"""
_attribute_map = {
'instance_flexibility': {'key': 'instanceFlexibility', 'type': 'str'},
}
def __init__(self, *, instance_flexibility=None, **kwargs) -> None:
super(PurchaseRequestPropertiesReservedResourceProperties, self).__init__(**kwargs)
self.instance_flexibility = instance_flexibility
[docs]class QuotaLimitsResponse(Model):
"""Quotas (service limits) in the request response.
:param value: List of quotas with the quota request status.
:type value: list[~azure.mgmt.reservations.models.CurrentQuotaLimit]
:param next_link: The URI for fetching the next page of quota limits. When
no more pages exist, the value is null.
:type next_link: str
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[CurrentQuotaLimit]'},
'next_link': {'key': 'nextLink', 'type': 'str'},
}
def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None:
super(QuotaLimitsResponse, self).__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class QuotaProperties(Model):
"""Quota properties for the resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:param limit: Quota properties.
:type limit: int
:ivar current_value: Current usage value for the resource.
:vartype current_value: int
:param unit: The limit units, such as **count** and **bytes**. Use the
unit field provided in the response of the GET quota operation.
:type unit: str
:param name: Name of the resource provide by the resource provider. Use
this property for quotaRequests resource operations.
:type name: ~azure.mgmt.reservations.models.ResourceName
:param resource_type: The name of the resource type.
:type resource_type: object
:ivar quota_period: The time period over which the quota usage values are
summarized. For example, P1D (per one day), PT1M (per one minute), and
PT1S (per one second). This parameter is optional because, for some
resources such as compute, the time period is irrelevant.
:vartype quota_period: str
:param properties: Additional properties for the specified resource
provider.
:type properties: object
"""
_validation = {
'current_value': {'readonly': True},
'quota_period': {'readonly': True},
}
_attribute_map = {
'limit': {'key': 'limit', 'type': 'int'},
'current_value': {'key': 'currentValue', 'type': 'int'},
'unit': {'key': 'unit', 'type': 'str'},
'name': {'key': 'name', 'type': 'ResourceName'},
'resource_type': {'key': 'resourceType', 'type': 'object'},
'quota_period': {'key': 'quotaPeriod', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'object'},
}
def __init__(self, *, limit: int=None, unit: str=None, name=None, resource_type=None, properties=None, **kwargs) -> None:
super(QuotaProperties, self).__init__(**kwargs)
self.limit = limit
self.current_value = None
self.unit = unit
self.name = name
self.resource_type = resource_type
self.quota_period = None
self.properties = properties
[docs]class QuotaRequestDetails(Model):
"""Quota request details.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Quota request ID.
:vartype id: str
:ivar name: Quota request name.
:vartype name: str
:param provisioning_state: The quota request status.
:type provisioning_state: object
:ivar message: User friendly status message.
:vartype message: str
:ivar request_submit_time: The time when the quota request was submitted
using format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.
:vartype request_submit_time: datetime
:param value: The quotaRequests.
:type value: list[~azure.mgmt.reservations.models.SubRequest]
:ivar type: Resource type
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'message': {'readonly': True},
'request_submit_time': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'object'},
'message': {'key': 'properties.message', 'type': 'str'},
'request_submit_time': {'key': 'properties.requestSubmitTime', 'type': 'iso-8601'},
'value': {'key': 'properties.value', 'type': '[SubRequest]'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, *, provisioning_state=None, value=None, **kwargs) -> None:
super(QuotaRequestDetails, self).__init__(**kwargs)
self.id = None
self.name = None
self.provisioning_state = provisioning_state
self.message = None
self.request_submit_time = None
self.value = value
self.type = None
[docs]class QuotaRequestOneResourceSubmitResponse(Model):
"""Response for the quota submission request.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The quota request ID.
:vartype id: str
:ivar name: The name of the quota request.
:vartype name: str
:ivar type: Type of resource. "Microsoft.Capacity/ServiceLimits"
:vartype type: str
:ivar provisioning_state: The quota request status.
:vartype provisioning_state: object
:ivar message: User friendly status message.
:vartype message: str
:ivar request_submit_time: The time when the quota request was submitted
using format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.
:vartype request_submit_time: datetime
:param properties: Quota properties for the resource.
:type properties: ~azure.mgmt.reservations.models.QuotaProperties
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'provisioning_state': {'readonly': True},
'message': {'readonly': True},
'request_submit_time': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'object'},
'message': {'key': 'properties.message', 'type': 'str'},
'request_submit_time': {'key': 'properties.requestSubmitTime', 'type': 'iso-8601'},
'properties': {'key': 'properties.properties.properties', 'type': 'QuotaProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(QuotaRequestOneResourceSubmitResponse, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.provisioning_state = None
self.message = None
self.request_submit_time = None
self.properties = properties
[docs]class QuotaRequestProperties(Model):
"""The details of quota request.
Variables are only populated by the server, and will be ignored when
sending a request.
:param provisioning_state: The quota request status.
:type provisioning_state: object
:ivar message: User friendly status message.
:vartype message: str
:ivar request_submit_time: The time when the quota request was submitted
using format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.
:vartype request_submit_time: datetime
:param value: The quotaRequests.
:type value: list[~azure.mgmt.reservations.models.SubRequest]
"""
_validation = {
'message': {'readonly': True},
'request_submit_time': {'readonly': True},
}
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'object'},
'message': {'key': 'message', 'type': 'str'},
'request_submit_time': {'key': 'requestSubmitTime', 'type': 'iso-8601'},
'value': {'key': 'value', 'type': '[SubRequest]'},
}
def __init__(self, *, provisioning_state=None, value=None, **kwargs) -> None:
super(QuotaRequestProperties, self).__init__(**kwargs)
self.provisioning_state = provisioning_state
self.message = None
self.request_submit_time = None
self.value = value
[docs]class QuotaRequestSubmitResponse(Model):
"""Response for the quota submission request.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The quota request ID.
:vartype id: str
:ivar name: The name of the quota request.
:vartype name: str
:param properties: The quota request details.
:type properties: ~azure.mgmt.reservations.models.QuotaRequestProperties
:ivar type: Type of resource. "Microsoft.Capacity/serviceLimits"
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'QuotaRequestProperties'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(QuotaRequestSubmitResponse, self).__init__(**kwargs)
self.id = None
self.name = None
self.properties = properties
self.type = None
[docs]class QuotaRequestSubmitResponse201(Model):
"""Response with request ID that the quota request was accepted.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The quota request ID. Use the requestId parameter to check the
request status.
:vartype id: str
:ivar name: Operation ID
:vartype name: str
:ivar type: Resource type
:vartype type: str
:ivar provisioning_state: The details of the quota request status.
:vartype provisioning_state: object
:ivar message: A user friendly message.
:vartype message: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'provisioning_state': {'readonly': True},
'message': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'object'},
'message': {'key': 'properties.message', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(QuotaRequestSubmitResponse201, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.provisioning_state = None
self.message = None
[docs]class RenewPropertiesResponse(Model):
"""RenewPropertiesResponse.
:param purchase_properties:
:type purchase_properties: ~azure.mgmt.reservations.models.PurchaseRequest
:param pricing_currency_total: Amount that Microsoft uses for record. Used
during refund for calculating refund limit. Tax is not included. This is
locked price 30 days before expiry.
:type pricing_currency_total:
~azure.mgmt.reservations.models.RenewPropertiesResponsePricingCurrencyTotal
:param billing_currency_total: Currency and amount that customer will be
charged in customer's local currency for renewal purchase. Tax is not
included.
:type billing_currency_total:
~azure.mgmt.reservations.models.RenewPropertiesResponseBillingCurrencyTotal
"""
_attribute_map = {
'purchase_properties': {'key': 'purchaseProperties', 'type': 'PurchaseRequest'},
'pricing_currency_total': {'key': 'pricingCurrencyTotal', 'type': 'RenewPropertiesResponsePricingCurrencyTotal'},
'billing_currency_total': {'key': 'billingCurrencyTotal', 'type': 'RenewPropertiesResponseBillingCurrencyTotal'},
}
def __init__(self, *, purchase_properties=None, pricing_currency_total=None, billing_currency_total=None, **kwargs) -> None:
super(RenewPropertiesResponse, self).__init__(**kwargs)
self.purchase_properties = purchase_properties
self.pricing_currency_total = pricing_currency_total
self.billing_currency_total = billing_currency_total
[docs]class RenewPropertiesResponseBillingCurrencyTotal(Model):
"""Currency and amount that customer will be charged in customer's local
currency for renewal purchase. Tax is not included.
:param currency_code:
:type currency_code: str
:param amount:
:type amount: float
"""
_attribute_map = {
'currency_code': {'key': 'currencyCode', 'type': 'str'},
'amount': {'key': 'amount', 'type': 'float'},
}
def __init__(self, *, currency_code: str=None, amount: float=None, **kwargs) -> None:
super(RenewPropertiesResponseBillingCurrencyTotal, self).__init__(**kwargs)
self.currency_code = currency_code
self.amount = amount
[docs]class RenewPropertiesResponsePricingCurrencyTotal(Model):
"""Amount that Microsoft uses for record. Used during refund for calculating
refund limit. Tax is not included. This is locked price 30 days before
expiry.
:param currency_code:
:type currency_code: str
:param amount:
:type amount: float
"""
_attribute_map = {
'currency_code': {'key': 'currencyCode', 'type': 'str'},
'amount': {'key': 'amount', 'type': 'float'},
}
def __init__(self, *, currency_code: str=None, amount: float=None, **kwargs) -> None:
super(RenewPropertiesResponsePricingCurrencyTotal, self).__init__(**kwargs)
self.currency_code = currency_code
self.amount = amount
[docs]class ReservationMergeProperties(Model):
"""ReservationMergeProperties.
:param merge_destination: Reservation Resource Id Created due to the
merge. Format of the resource Id is
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}
:type merge_destination: str
:param merge_sources: Resource Ids of the Source Reservation's merged to
form this Reservation. Format of the resource Id is
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}
:type merge_sources: list[str]
"""
_attribute_map = {
'merge_destination': {'key': 'mergeDestination', 'type': 'str'},
'merge_sources': {'key': 'mergeSources', 'type': '[str]'},
}
def __init__(self, *, merge_destination: str=None, merge_sources=None, **kwargs) -> None:
super(ReservationMergeProperties, self).__init__(**kwargs)
self.merge_destination = merge_destination
self.merge_sources = merge_sources
[docs]class ReservationOrderResponse(Model):
"""ReservationOrderResponse.
Variables are only populated by the server, and will be ignored when
sending a request.
:param etag:
:type etag: int
:ivar id: Identifier of the reservation
:vartype id: str
:ivar name: Name of the reservation
:vartype name: str
:param display_name: Friendly name for user to easily identified the
reservation.
:type display_name: str
:param request_date_time: This is the DateTime when the reservation was
initially requested for purchase.
:type request_date_time: datetime
:param created_date_time: This is the DateTime when the reservation was
created.
:type created_date_time: datetime
:param expiry_date: This is the date when the Reservation will expire.
:type expiry_date: date
:param original_quantity:
:type original_quantity: int
:param term: Possible values include: 'P1Y', 'P3Y'
:type term: str or ~azure.mgmt.reservations.models.ReservationTerm
:param provisioning_state: Current state of the reservation.
:type provisioning_state: str
:param billing_plan: Possible values include: 'Upfront', 'Monthly'
:type billing_plan: str or
~azure.mgmt.reservations.models.ReservationBillingPlan
:param plan_information:
:type plan_information:
~azure.mgmt.reservations.models.ReservationOrderBillingPlanInformation
:param reservations:
:type reservations:
list[~azure.mgmt.reservations.models.ReservationResponse]
:ivar type: Type of resource. "Microsoft.Capacity/reservations"
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'etag': {'key': 'etag', 'type': 'int'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'display_name': {'key': 'properties.displayName', 'type': 'str'},
'request_date_time': {'key': 'properties.requestDateTime', 'type': 'iso-8601'},
'created_date_time': {'key': 'properties.createdDateTime', 'type': 'iso-8601'},
'expiry_date': {'key': 'properties.expiryDate', 'type': 'date'},
'original_quantity': {'key': 'properties.originalQuantity', 'type': 'int'},
'term': {'key': 'properties.term', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'billing_plan': {'key': 'properties.billingPlan', 'type': 'str'},
'plan_information': {'key': 'properties.planInformation', 'type': 'ReservationOrderBillingPlanInformation'},
'reservations': {'key': 'properties.reservations', 'type': '[ReservationResponse]'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, *, etag: int=None, display_name: str=None, request_date_time=None, created_date_time=None, expiry_date=None, original_quantity: int=None, term=None, provisioning_state: str=None, billing_plan=None, plan_information=None, reservations=None, **kwargs) -> None:
super(ReservationOrderResponse, self).__init__(**kwargs)
self.etag = etag
self.id = None
self.name = None
self.display_name = display_name
self.request_date_time = request_date_time
self.created_date_time = created_date_time
self.expiry_date = expiry_date
self.original_quantity = original_quantity
self.term = term
self.provisioning_state = provisioning_state
self.billing_plan = billing_plan
self.plan_information = plan_information
self.reservations = reservations
self.type = None
[docs]class ReservationProperties(Model):
"""ReservationProperties.
Variables are only populated by the server, and will be ignored when
sending a request.
:param reserved_resource_type: Possible values include: 'VirtualMachines',
'SqlDatabases', 'SuseLinux', 'CosmosDb', 'RedHat', 'SqlDataWarehouse',
'VMwareCloudSimple', 'RedHatOsa', 'Databricks', 'AppService',
'ManagedDisk', 'BlockBlob', 'RedisCache', 'AzureDataExplorer', 'MySql',
'MariaDb', 'PostgreSql', 'DedicatedHost', 'SapHana',
'SqlAzureHybridBenefit'
:type reserved_resource_type: str or
~azure.mgmt.reservations.models.ReservedResourceType
:param instance_flexibility: Possible values include: 'On', 'Off'
:type instance_flexibility: str or
~azure.mgmt.reservations.models.InstanceFlexibility
:param display_name: Friendly name for user to easily identify the
reservation
:type display_name: str
:param applied_scopes:
:type applied_scopes: list[str]
:param applied_scope_type: Possible values include: 'Single', 'Shared'
:type applied_scope_type: str or
~azure.mgmt.reservations.models.AppliedScopeType
:param quantity:
:type quantity: int
:param provisioning_state: Current state of the reservation.
:type provisioning_state: str
:param effective_date_time: DateTime of the Reservation starting when this
version is effective from.
:type effective_date_time: datetime
:ivar last_updated_date_time: DateTime of the last time the Reservation
was updated.
:vartype last_updated_date_time: datetime
:param expiry_date: This is the date when the Reservation will expire.
:type expiry_date: date
:param sku_description: Description of the SKU in english.
:type sku_description: str
:param extended_status_info:
:type extended_status_info:
~azure.mgmt.reservations.models.ExtendedStatusInfo
:param billing_plan: Possible values include: 'Upfront', 'Monthly'
:type billing_plan: str or
~azure.mgmt.reservations.models.ReservationBillingPlan
:param split_properties:
:type split_properties:
~azure.mgmt.reservations.models.ReservationSplitProperties
:param merge_properties:
:type merge_properties:
~azure.mgmt.reservations.models.ReservationMergeProperties
:param billing_scope_id:
:type billing_scope_id: str
:param renew:
:type renew: bool
:param renew_source: Reservation Id of the reservation from which this
reservation is renewed. Format of the resource Id is
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}.
:type renew_source: str
:param renew_destination: Reservation Id of the reservation which is
purchased because of renew. Format of the resource Id is
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}.
:type renew_destination: str
:param renew_properties:
:type renew_properties:
~azure.mgmt.reservations.models.RenewPropertiesResponse
:param term: Possible values include: 'P1Y', 'P3Y'
:type term: str or ~azure.mgmt.reservations.models.ReservationTerm
"""
_validation = {
'last_updated_date_time': {'readonly': True},
}
_attribute_map = {
'reserved_resource_type': {'key': 'reservedResourceType', 'type': 'str'},
'instance_flexibility': {'key': 'instanceFlexibility', 'type': 'str'},
'display_name': {'key': 'displayName', 'type': 'str'},
'applied_scopes': {'key': 'appliedScopes', 'type': '[str]'},
'applied_scope_type': {'key': 'appliedScopeType', 'type': 'str'},
'quantity': {'key': 'quantity', 'type': 'int'},
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'effective_date_time': {'key': 'effectiveDateTime', 'type': 'iso-8601'},
'last_updated_date_time': {'key': 'lastUpdatedDateTime', 'type': 'iso-8601'},
'expiry_date': {'key': 'expiryDate', 'type': 'date'},
'sku_description': {'key': 'skuDescription', 'type': 'str'},
'extended_status_info': {'key': 'extendedStatusInfo', 'type': 'ExtendedStatusInfo'},
'billing_plan': {'key': 'billingPlan', 'type': 'str'},
'split_properties': {'key': 'splitProperties', 'type': 'ReservationSplitProperties'},
'merge_properties': {'key': 'mergeProperties', 'type': 'ReservationMergeProperties'},
'billing_scope_id': {'key': 'billingScopeId', 'type': 'str'},
'renew': {'key': 'renew', 'type': 'bool'},
'renew_source': {'key': 'renewSource', 'type': 'str'},
'renew_destination': {'key': 'renewDestination', 'type': 'str'},
'renew_properties': {'key': 'renewProperties', 'type': 'RenewPropertiesResponse'},
'term': {'key': 'term', 'type': 'str'},
}
def __init__(self, *, reserved_resource_type=None, instance_flexibility=None, display_name: str=None, applied_scopes=None, applied_scope_type=None, quantity: int=None, provisioning_state: str=None, effective_date_time=None, expiry_date=None, sku_description: str=None, extended_status_info=None, billing_plan=None, split_properties=None, merge_properties=None, billing_scope_id: str=None, renew: bool=None, renew_source: str=None, renew_destination: str=None, renew_properties=None, term=None, **kwargs) -> None:
super(ReservationProperties, self).__init__(**kwargs)
self.reserved_resource_type = reserved_resource_type
self.instance_flexibility = instance_flexibility
self.display_name = display_name
self.applied_scopes = applied_scopes
self.applied_scope_type = applied_scope_type
self.quantity = quantity
self.provisioning_state = provisioning_state
self.effective_date_time = effective_date_time
self.last_updated_date_time = None
self.expiry_date = expiry_date
self.sku_description = sku_description
self.extended_status_info = extended_status_info
self.billing_plan = billing_plan
self.split_properties = split_properties
self.merge_properties = merge_properties
self.billing_scope_id = billing_scope_id
self.renew = renew
self.renew_source = renew_source
self.renew_destination = renew_destination
self.renew_properties = renew_properties
self.term = term
[docs]class ReservationResponse(Model):
"""ReservationResponse.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar location: The Azure Region where the reserved resource lives.
:vartype location: str
:param etag:
:type etag: int
:ivar id: Identifier of the reservation
:vartype id: str
:ivar name: Name of the reservation
:vartype name: str
:param sku:
:type sku: ~azure.mgmt.reservations.models.SkuName
:param properties:
:type properties: ~azure.mgmt.reservations.models.ReservationProperties
:ivar type: Type of resource.
"Microsoft.Capacity/reservationOrders/reservations"
:vartype type: str
"""
_validation = {
'location': {'readonly': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'etag': {'key': 'etag', 'type': 'int'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'sku': {'key': 'sku', 'type': 'SkuName'},
'properties': {'key': 'properties', 'type': 'ReservationProperties'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, *, etag: int=None, sku=None, properties=None, **kwargs) -> None:
super(ReservationResponse, self).__init__(**kwargs)
self.location = None
self.etag = etag
self.id = None
self.name = None
self.sku = sku
self.properties = properties
self.type = None
[docs]class ReservationSplitProperties(Model):
"""ReservationSplitProperties.
:param split_destinations: List of destination Resource Id that are
created due to split. Format of the resource Id is
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}
:type split_destinations: list[str]
:param split_source: Resource Id of the Reservation from which this is
split. Format of the resource Id is
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}
:type split_source: str
"""
_attribute_map = {
'split_destinations': {'key': 'splitDestinations', 'type': '[str]'},
'split_source': {'key': 'splitSource', 'type': 'str'},
}
def __init__(self, *, split_destinations=None, split_source: str=None, **kwargs) -> None:
super(ReservationSplitProperties, self).__init__(**kwargs)
self.split_destinations = split_destinations
self.split_source = split_source
[docs]class ReservationToExchange(Model):
"""Reservation refund details.
:param reservation_id: Fully qualified id of the Reservation being
returned.
:type reservation_id: str
:param quantity: Quantity to be returned
:type quantity: int
:param billing_refund_amount:
:type billing_refund_amount: ~azure.mgmt.reservations.models.Price
:param billing_information:
:type billing_information:
~azure.mgmt.reservations.models.BillingInformation
"""
_attribute_map = {
'reservation_id': {'key': 'reservationId', 'type': 'str'},
'quantity': {'key': 'quantity', 'type': 'int'},
'billing_refund_amount': {'key': 'billingRefundAmount', 'type': 'Price'},
'billing_information': {'key': 'billingInformation', 'type': 'BillingInformation'},
}
def __init__(self, *, reservation_id: str=None, quantity: int=None, billing_refund_amount=None, billing_information=None, **kwargs) -> None:
super(ReservationToExchange, self).__init__(**kwargs)
self.reservation_id = reservation_id
self.quantity = quantity
self.billing_refund_amount = billing_refund_amount
self.billing_information = billing_information
[docs]class ReservationToPurchaseCalculateExchange(Model):
"""Reservation purchase details.
:param properties:
:type properties: ~azure.mgmt.reservations.models.PurchaseRequest
:param billing_currency_total:
:type billing_currency_total: ~azure.mgmt.reservations.models.Price
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'PurchaseRequest'},
'billing_currency_total': {'key': 'billingCurrencyTotal', 'type': 'Price'},
}
def __init__(self, *, properties=None, billing_currency_total=None, **kwargs) -> None:
super(ReservationToPurchaseCalculateExchange, self).__init__(**kwargs)
self.properties = properties
self.billing_currency_total = billing_currency_total
[docs]class ReservationToPurchaseExchange(Model):
"""Reservation purchase details.
:param reservation_order_id: Fully qualified id of the ReservationOrder
being purchased
:type reservation_order_id: str
:param reservation_id: Fully qualified id of the Reservation being
purchased. This value is only guaranteed to be non-null if the purchase is
successful.
:type reservation_id: str
:param properties:
:type properties: ~azure.mgmt.reservations.models.PurchaseRequest
:param billing_currency_total:
:type billing_currency_total: ~azure.mgmt.reservations.models.Price
:param status: Possible values include: 'Succeeded', 'Failed',
'Cancelled', 'Pending'
:type status: str or ~azure.mgmt.reservations.models.OperationStatus
"""
_attribute_map = {
'reservation_order_id': {'key': 'reservationOrderId', 'type': 'str'},
'reservation_id': {'key': 'reservationId', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'PurchaseRequest'},
'billing_currency_total': {'key': 'billingCurrencyTotal', 'type': 'Price'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, reservation_order_id: str=None, reservation_id: str=None, properties=None, billing_currency_total=None, status=None, **kwargs) -> None:
super(ReservationToPurchaseExchange, self).__init__(**kwargs)
self.reservation_order_id = reservation_order_id
self.reservation_id = reservation_id
self.properties = properties
self.billing_currency_total = billing_currency_total
self.status = status
[docs]class ReservationToReturn(Model):
"""Reservation to return.
:param reservation_id: Fully qualified identifier of the Reservation being
returned
:type reservation_id: str
:param quantity: Quantity to be returned. Must be greater than zero.
:type quantity: int
"""
_attribute_map = {
'reservation_id': {'key': 'reservationId', 'type': 'str'},
'quantity': {'key': 'quantity', 'type': 'int'},
}
def __init__(self, *, reservation_id: str=None, quantity: int=None, **kwargs) -> None:
super(ReservationToReturn, self).__init__(**kwargs)
self.reservation_id = reservation_id
self.quantity = quantity
[docs]class ReservationToReturnForExchange(Model):
"""Reservation refund details.
:param reservation_id: Fully qualified id of the Reservation being
returned.
:type reservation_id: str
:param quantity: Quantity to be returned
:type quantity: int
:param billing_refund_amount:
:type billing_refund_amount: ~azure.mgmt.reservations.models.Price
:param billing_information:
:type billing_information:
~azure.mgmt.reservations.models.BillingInformation
:param status: Possible values include: 'Succeeded', 'Failed',
'Cancelled', 'Pending'
:type status: str or ~azure.mgmt.reservations.models.OperationStatus
"""
_attribute_map = {
'reservation_id': {'key': 'reservationId', 'type': 'str'},
'quantity': {'key': 'quantity', 'type': 'int'},
'billing_refund_amount': {'key': 'billingRefundAmount', 'type': 'Price'},
'billing_information': {'key': 'billingInformation', 'type': 'BillingInformation'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, reservation_id: str=None, quantity: int=None, billing_refund_amount=None, billing_information=None, status=None, **kwargs) -> None:
super(ReservationToReturnForExchange, self).__init__(**kwargs)
self.reservation_id = reservation_id
self.quantity = quantity
self.billing_refund_amount = billing_refund_amount
self.billing_information = billing_information
self.status = status
[docs]class ResourceName(Model):
"""Resource name provided by the resource provider. Use this property for
quotaRequest parameter.
Variables are only populated by the server, and will be ignored when
sending a request.
:param value: Resource name.
:type value: str
:ivar localized_value: Resource display localized name.
:vartype localized_value: str
"""
_validation = {
'localized_value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': 'str'},
'localized_value': {'key': 'localizedValue', 'type': 'str'},
}
def __init__(self, *, value: str=None, **kwargs) -> None:
super(ResourceName, self).__init__(**kwargs)
self.value = value
self.localized_value = None
[docs]class ScopeProperties(Model):
"""ScopeProperties.
:param scope:
:type scope: str
:param valid:
:type valid: bool
"""
_attribute_map = {
'scope': {'key': 'scope', 'type': 'str'},
'valid': {'key': 'valid', 'type': 'bool'},
}
def __init__(self, *, scope: str=None, valid: bool=None, **kwargs) -> None:
super(ScopeProperties, self).__init__(**kwargs)
self.scope = scope
self.valid = valid
[docs]class ServiceError(Model):
"""The API error details.
Variables are only populated by the server, and will be ignored when
sending a request.
:param code: The error code.
:type code: str
:param message: The error message text.
:type message: str
:ivar details: The list of error details.
:vartype details: list[~azure.mgmt.reservations.models.ServiceErrorDetail]
"""
_validation = {
'details': {'readonly': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'details': {'key': 'details', 'type': '[ServiceErrorDetail]'},
}
def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None:
super(ServiceError, self).__init__(**kwargs)
self.code = code
self.message = message
self.details = None
[docs]class ServiceErrorDetail(Model):
"""The error details.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar code: The error code.
:vartype code: str
:ivar message: The error message.
:vartype message: str
"""
_validation = {
'code': {'readonly': True},
'message': {'readonly': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(ServiceErrorDetail, self).__init__(**kwargs)
self.code = None
self.message = None
[docs]class SkuName(Model):
"""SkuName.
:param name:
:type name: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}
def __init__(self, *, name: str=None, **kwargs) -> None:
super(SkuName, self).__init__(**kwargs)
self.name = name
[docs]class SkuProperty(Model):
"""SkuProperty.
:param name: An invariant to describe the feature.
:type name: str
:param value: An invariant if the feature is measured by quantity.
:type value: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'value': {'key': 'value', 'type': 'str'},
}
def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None:
super(SkuProperty, self).__init__(**kwargs)
self.name = name
self.value = value
[docs]class SkuRestriction(Model):
"""SkuRestriction.
:param type: The type of restrictions.
:type type: str
:param values: The value of restrictions. If the restriction type is set
to location. This would be different locations where the SKU is
restricted.
:type values: list[str]
:param reason_code: The reason for restriction.
:type reason_code: str
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'values': {'key': 'values', 'type': '[str]'},
'reason_code': {'key': 'reasonCode', 'type': 'str'},
}
def __init__(self, *, type: str=None, values=None, reason_code: str=None, **kwargs) -> None:
super(SkuRestriction, self).__init__(**kwargs)
self.type = type
self.values = values
self.reason_code = reason_code
[docs]class SplitRequest(Model):
"""SplitRequest.
:param quantities: List of the quantities in the new reservations to
create.
:type quantities: list[int]
:param reservation_id: Resource id of the reservation to be split. Format
of the resource id should be
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}
:type reservation_id: str
"""
_attribute_map = {
'quantities': {'key': 'properties.quantities', 'type': '[int]'},
'reservation_id': {'key': 'properties.reservationId', 'type': 'str'},
}
def __init__(self, *, quantities=None, reservation_id: str=None, **kwargs) -> None:
super(SplitRequest, self).__init__(**kwargs)
self.quantities = quantities
self.reservation_id = reservation_id
[docs]class SubRequest(Model):
"""The sub-request submitted with the quota request.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar limit: Quota (resource limit).
:vartype limit: int
:param name: The resource name.
:type name: ~azure.mgmt.reservations.models.ResourceName
:ivar resource_type: Resource type for which the quota check was made.
:vartype resource_type: str
:param unit: The limit units, such as **count** and **bytes**. Use the
unit field provided in the response of the GET quota operation.
:type unit: str
:param provisioning_state: The quota request status.
:type provisioning_state: object
:ivar message: User-friendly status message.
:vartype message: str
:ivar sub_request_id: Sub request ID for individual request.
:vartype sub_request_id: str
"""
_validation = {
'limit': {'readonly': True},
'resource_type': {'readonly': True},
'message': {'readonly': True},
'sub_request_id': {'readonly': True},
}
_attribute_map = {
'limit': {'key': 'limit', 'type': 'int'},
'name': {'key': 'name', 'type': 'ResourceName'},
'resource_type': {'key': 'resourceType', 'type': 'str'},
'unit': {'key': 'unit', 'type': 'str'},
'provisioning_state': {'key': 'provisioningState', 'type': 'object'},
'message': {'key': 'message', 'type': 'str'},
'sub_request_id': {'key': 'subRequestId', 'type': 'str'},
}
def __init__(self, *, name=None, unit: str=None, provisioning_state=None, **kwargs) -> None:
super(SubRequest, self).__init__(**kwargs)
self.limit = None
self.name = name
self.resource_type = None
self.unit = unit
self.provisioning_state = provisioning_state
self.message = None
self.sub_request_id = None
[docs]class SubscriptionScopeProperties(Model):
"""SubscriptionScopeProperties.
:param scopes:
:type scopes: list[~azure.mgmt.reservations.models.ScopeProperties]
"""
_attribute_map = {
'scopes': {'key': 'scopes', 'type': '[ScopeProperties]'},
}
def __init__(self, *, scopes=None, **kwargs) -> None:
super(SubscriptionScopeProperties, self).__init__(**kwargs)
self.scopes = scopes