# 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 Actions(Model):
"""The actions for auto quota increase.
:param email_actions: The email actions for auto quota increase.
:type email_actions: ~azure.mgmt.reservations.models.EmailActions
"""
_attribute_map = {
'email_actions': {'key': 'emailActions', 'type': 'EmailActions'},
}
def __init__(self, *, email_actions=None, **kwargs) -> None:
super(Actions, self).__init__(**kwargs)
self.email_actions = email_actions
[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 AqiSettings(Model):
"""Settings for auto quota increase.
:param auto_quota_increase_state: If the subscription has enabled
automatic quota increase.
:type auto_quota_increase_state: object
"""
_attribute_map = {
'auto_quota_increase_state': {'key': 'autoQuotaIncreaseState', 'type': 'object'},
}
def __init__(self, *, auto_quota_increase_state=None, **kwargs) -> None:
super(AqiSettings, self).__init__(**kwargs)
self.auto_quota_increase_state = auto_quota_increase_state
[docs]class AutoQuotaIncreaseDetail(Model):
"""Auto Quota Increase settings.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The subscription Id.
:vartype id: str
:ivar name: The name of the auto quota increase.
:vartype name: str
:ivar type: The type of the resource
:vartype type: str
:param settings: Settings for automatic quota increase.
:type settings: ~azure.mgmt.reservations.models.AqiSettings
:param on_failure: The on failure Actions.
:type on_failure: ~azure.mgmt.reservations.models.Actions
:param on_success: The on success Actions.
:type on_success: ~azure.mgmt.reservations.models.Actions
:param support_ticket_action: The support ticket action.
:type support_ticket_action:
~azure.mgmt.reservations.models.SupportRequestAction
"""
_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'},
'settings': {'key': 'properties.settings', 'type': 'AqiSettings'},
'on_failure': {'key': 'properties.onFailure', 'type': 'Actions'},
'on_success': {'key': 'properties.onSuccess', 'type': 'Actions'},
'support_ticket_action': {'key': 'properties.supportTicketAction', 'type': 'SupportRequestAction'},
}
def __init__(self, *, settings=None, on_failure=None, on_success=None, support_ticket_action=None, **kwargs) -> None:
super(AutoQuotaIncreaseDetail, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.settings = settings
self.on_failure = on_failure
self.on_success = on_success
self.support_ticket_action = support_ticket_action
[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):
"""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 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 limits.
: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 EmailAction(Model):
"""Email Action.
:param email_address: The email address for the action.
:type email_address: str
"""
_attribute_map = {
'email_address': {'key': 'emailAddress', 'type': 'str'},
}
def __init__(self, *, email_address: str=None, **kwargs) -> None:
super(EmailAction, self).__init__(**kwargs)
self.email_address = email_address
[docs]class EmailActions(Model):
"""The email actions.
:param email_addresses: The list of email actions.
:type email_addresses: list[~azure.mgmt.reservations.models.EmailAction]
"""
_attribute_map = {
'email_addresses': {'key': 'emailAddresses', 'type': '[EmailAction]'},
}
def __init__(self, *, email_addresses=None, **kwargs) -> None:
super(EmailActions, self).__init__(**kwargs)
self.email_addresses = email_addresses
[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 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 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 PhoneAction(Model):
"""Phone Action.
:param phone_number: The phone number for the action.
:type phone_number: str
:param preferred_channel: The preferred communication channel.
:type preferred_channel: object
"""
_attribute_map = {
'phone_number': {'key': 'phoneNumber', 'type': 'str'},
'preferred_channel': {'key': 'preferredChannel', 'type': 'object'},
}
def __init__(self, *, phone_number: str=None, preferred_channel=None, **kwargs) -> None:
super(PhoneAction, self).__init__(**kwargs)
self.phone_number = phone_number
self.preferred_channel = preferred_channel
[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 Properties(Model):
"""Properties.
:param properties:
:type properties:
~azure.mgmt.reservations.models.SubscriptionScopeProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'SubscriptionScopeProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(Properties, self).__init__(**kwargs)
self.properties = properties
[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):
"""Quota limits request response.
:param value: List of Quota limits with the quota request status.
:type value: list[~azure.mgmt.reservations.models.CurrentQuotaLimit]
:param next_link: The uri to fetch the next page of quota limits. When
there are no more pages, this 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: The quota limit.
:type limit: int
:ivar current_value: The current resource usages information.
:vartype current_value: int
:param unit: The units of the limit, such as - Count, Bytes, etc. Use the
unit field provided in the Get quota response.
:type unit: str
:param name: Name of the resource provide by the resource Provider. Please
use this name property for quotaRequests.
:type name: ~azure.mgmt.reservations.models.ResourceName
:param resource_type: The Resource Type Name.
:type resource_type: object
:ivar quota_period: The quota period over which the usage values are
summarized, such as - P1D (Per one day), PT1M (Per one minute), PT1S (Per
one second). This parameter is optional because, for some resources like
compute, the period doesn’t matter.
:vartype quota_period: str
:param properties: Additional properties for the specific 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):
"""The details of the quota 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 provisioning_state: The quota request status.
:type provisioning_state: object
:ivar message: User friendly status message.
:vartype message: str
:ivar request_submit_time: The quota request submit time. The date
conforms to the following 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: Type of resource. "Microsoft.Capacity/ServiceLimits"
: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):
"""Quota submit request response.
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 quota request submit time. The date
conforms to the following 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 quota request submit time. The date
conforms to the following 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):
"""Quota submit request response.
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):
"""The quota request submit response with request id.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The quota request id. Please use the requestId to check the
request status.
:vartype id: str
:ivar name: The operation Id
:vartype name: str
:ivar type: The resource type
:vartype type: str
:ivar provisioning_state: 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 ResourceName(Model):
"""Name of the resource provide by the resource Provider. Please use this name
property for quotaRequests.
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 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.
: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: The 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 units of the limit, such as - Count, Bytes, etc. Use the
unit field provided in the Get quota response.
: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
[docs]class SupportRequestAction(Model):
"""The SupportRequest action.
:param severity: The support request severity.
:type severity: object
:param first_name: The first name of the recipient.
:type first_name: str
:param last_name: The last name of the recipient.
:type last_name: str
:param country: The country of the recipient.
:type country: str
:param phone_number: The phone number of the recipient.
:type phone_number: str
:param primary_email_address: The primary email addresses of the
recipients.
:type primary_email_address: str
:param support_language: The support language.
:type support_language: str
:param preferred_contact_method: The preferred communication channel.
:type preferred_contact_method: object
:param alternate_email_addresses: The alternate email address of the
recipient.
:type alternate_email_addresses: list[str]
"""
_attribute_map = {
'severity': {'key': 'severity', 'type': 'object'},
'first_name': {'key': 'firstName', 'type': 'str'},
'last_name': {'key': 'lastName', 'type': 'str'},
'country': {'key': 'country', 'type': 'str'},
'phone_number': {'key': 'phoneNumber', 'type': 'str'},
'primary_email_address': {'key': 'primaryEmailAddress', 'type': 'str'},
'support_language': {'key': 'supportLanguage', 'type': 'str'},
'preferred_contact_method': {'key': 'preferredContactMethod', 'type': 'object'},
'alternate_email_addresses': {'key': 'alternateEmailAddresses', 'type': '[str]'},
}
def __init__(self, *, severity=None, first_name: str=None, last_name: str=None, country: str=None, phone_number: str=None, primary_email_address: str=None, support_language: str=None, preferred_contact_method=None, alternate_email_addresses=None, **kwargs) -> None:
super(SupportRequestAction, self).__init__(**kwargs)
self.severity = severity
self.first_name = first_name
self.last_name = last_name
self.country = country
self.phone_number = phone_number
self.primary_email_address = primary_email_address
self.support_language = support_language
self.preferred_contact_method = preferred_contact_method
self.alternate_email_addresses = alternate_email_addresses