Source code for azure.mgmt.hanaonazure.models._models_py3

# 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


class CloudError(Model):
    """CloudError.
    """

    _attribute_map = {
    }


[docs]class Disk(Model): """Specifies the disk information fo the HANA instance. Variables are only populated by the server, and will be ignored when sending a request. :param name: The disk name. :type name: str :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. :type disk_size_gb: int :ivar lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. :vartype lun: int """ _validation = { 'lun': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 'lun': {'key': 'lun', 'type': 'int'}, } def __init__(self, *, name: str=None, disk_size_gb: int=None, **kwargs) -> None: super(Disk, self).__init__(**kwargs) self.name = name self.disk_size_gb = disk_size_gb self.lun = None
[docs]class Display(Model): """Detailed HANA operation information. Variables are only populated by the server, and will be ignored when sending a request. :ivar provider: The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with "Microsoft" for 1st party services. :vartype provider: str :ivar resource: The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section. :vartype resource: str :ivar operation: The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies. :vartype operation: str :ivar description: The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views. :vartype description: str :ivar origin: The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system' :vartype origin: str """ _validation = { 'provider': {'readonly': True}, 'resource': {'readonly': True}, 'operation': {'readonly': True}, 'description': {'readonly': True}, 'origin': {'readonly': True}, } _attribute_map = { 'provider': {'key': 'provider', 'type': 'str'}, 'resource': {'key': 'resource', 'type': 'str'}, 'operation': {'key': 'operation', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'origin': {'key': 'origin', 'type': 'str'}, } def __init__(self, **kwargs) -> None: super(Display, self).__init__(**kwargs) self.provider = None self.resource = None self.operation = None self.description = None self.origin = None
[docs]class ErrorResponse(Model): """Describes the format of Error response. :param code: Error code :type code: str :param message: Error message indicating why the operation failed. :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(ErrorResponse, self).__init__(**kwargs) self.code = code self.message = message
[docs]class ErrorResponseException(HttpOperationError): """Server responsed with exception of type: 'ErrorResponse'. :param deserialize: A deserializer :param response: Server response to be deserialized. """ def __init__(self, deserialize, response, *args): super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args)
[docs]class Resource(Model): """The resource model definition. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID :vartype id: str :ivar name: Resource name :vartype name: str :ivar type: Resource type :vartype type: str :param location: Resource location :type location: str :ivar tags: Resource tags :vartype tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'tags': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, location: str=None, **kwargs) -> None: super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None self.location = location self.tags = None
[docs]class HanaInstance(Resource): """HANA instance info on Azure (ARM properties and HANA properties). Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID :vartype id: str :ivar name: Resource name :vartype name: str :ivar type: Resource type :vartype type: str :param location: Resource location :type location: str :ivar tags: Resource tags :vartype tags: dict[str, str] :param hardware_profile: Specifies the hardware settings for the HANA instance. :type hardware_profile: ~azure.mgmt.hanaonazure.models.HardwareProfile :param storage_profile: Specifies the storage settings for the HANA instance disks. :type storage_profile: ~azure.mgmt.hanaonazure.models.StorageProfile :param os_profile: Specifies the operating system settings for the HANA instance. :type os_profile: ~azure.mgmt.hanaonazure.models.OSProfile :param network_profile: Specifies the network settings for the HANA instance. :type network_profile: ~azure.mgmt.hanaonazure.models.NetworkProfile :ivar hana_instance_id: Specifies the HANA instance unique ID. :vartype hana_instance_id: str :ivar power_state: Resource power state. Possible values include: 'starting', 'started', 'stopping', 'stopped', 'restarting', 'unknown' :vartype power_state: str or ~azure.mgmt.hanaonazure.models.HanaInstancePowerStateEnum :ivar proximity_placement_group: Resource proximity placement group :vartype proximity_placement_group: str :ivar hw_revision: Hardware revision of a HANA instance :vartype hw_revision: str :param partner_node_id: ARM ID of another HanaInstance that will share a network with this HanaInstance :type partner_node_id: str :ivar provisioning_state: State of provisioning of the HanaInstance. Possible values include: 'Accepted', 'Creating', 'Updating', 'Failed', 'Succeeded', 'Deleting', 'Migrating' :vartype provisioning_state: str or ~azure.mgmt.hanaonazure.models.HanaProvisioningStatesEnum """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'tags': {'readonly': True}, 'hana_instance_id': {'readonly': True}, 'power_state': {'readonly': True}, 'proximity_placement_group': {'readonly': True}, 'hw_revision': {'readonly': True}, 'provisioning_state': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 'hana_instance_id': {'key': 'properties.hanaInstanceId', 'type': 'str'}, 'power_state': {'key': 'properties.powerState', 'type': 'str'}, 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'str'}, 'hw_revision': {'key': 'properties.hwRevision', 'type': 'str'}, 'partner_node_id': {'key': 'properties.partnerNodeId', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } def __init__(self, *, location: str=None, hardware_profile=None, storage_profile=None, os_profile=None, network_profile=None, partner_node_id: str=None, **kwargs) -> None: super(HanaInstance, self).__init__(location=location, **kwargs) self.hardware_profile = hardware_profile self.storage_profile = storage_profile self.os_profile = os_profile self.network_profile = network_profile self.hana_instance_id = None self.power_state = None self.proximity_placement_group = None self.hw_revision = None self.partner_node_id = partner_node_id self.provisioning_state = None
[docs]class HardwareProfile(Model): """Specifies the hardware settings for the HANA instance. Variables are only populated by the server, and will be ignored when sending a request. :ivar hardware_type: Name of the hardware type (vendor and/or their product name). Possible values include: 'Cisco_UCS', 'HPE' :vartype hardware_type: str or ~azure.mgmt.hanaonazure.models.HanaHardwareTypeNamesEnum :ivar hana_instance_size: Specifies the HANA instance SKU. Possible values include: 'S72m', 'S144m', 'S72', 'S144', 'S192', 'S192m', 'S192xm', 'S96', 'S112', 'S224m', 'S224o', 'S224om', 'S224oo', 'S224oom', 'S224ooo', 'S224oxm', 'S224oxxm', 'S384', 'S384m', 'S384xm', 'S384xxm', 'S576m', 'S576xm', 'S768', 'S768m', 'S768xm', 'S960m' :vartype hana_instance_size: str or ~azure.mgmt.hanaonazure.models.HanaInstanceSizeNamesEnum """ _validation = { 'hardware_type': {'readonly': True}, 'hana_instance_size': {'readonly': True}, } _attribute_map = { 'hardware_type': {'key': 'hardwareType', 'type': 'str'}, 'hana_instance_size': {'key': 'hanaInstanceSize', 'type': 'str'}, } def __init__(self, **kwargs) -> None: super(HardwareProfile, self).__init__(**kwargs) self.hardware_type = None self.hana_instance_size = None
[docs]class IpAddress(Model): """Specifies the IP address of the network interface. :param ip_address: Specifies the IP address of the network interface. :type ip_address: str """ _attribute_map = { 'ip_address': {'key': 'ipAddress', 'type': 'str'}, } def __init__(self, *, ip_address: str=None, **kwargs) -> None: super(IpAddress, self).__init__(**kwargs) self.ip_address = ip_address
[docs]class MonitoringDetails(Model): """Details needed to monitor a Hana Instance. :param hana_subnet: ARM ID of an Azure Subnet with access to the HANA instance. :type hana_subnet: str :param hana_hostname: Hostname of the HANA Instance blade. :type hana_hostname: str :param hana_db_name: Name of the database itself. :type hana_db_name: str :param hana_db_sql_port: The port number of the tenant DB. Used to connect to the DB. :type hana_db_sql_port: int :param hana_db_username: Username for the HANA database to login to for monitoring :type hana_db_username: str :param hana_db_password: Password for the HANA database to login for monitoring :type hana_db_password: str """ _attribute_map = { 'hana_subnet': {'key': 'hanaSubnet', 'type': 'str'}, 'hana_hostname': {'key': 'hanaHostname', 'type': 'str'}, 'hana_db_name': {'key': 'hanaDbName', 'type': 'str'}, 'hana_db_sql_port': {'key': 'hanaDbSqlPort', 'type': 'int'}, 'hana_db_username': {'key': 'hanaDbUsername', 'type': 'str'}, 'hana_db_password': {'key': 'hanaDbPassword', 'type': 'str'}, } def __init__(self, *, hana_subnet: str=None, hana_hostname: str=None, hana_db_name: str=None, hana_db_sql_port: int=None, hana_db_username: str=None, hana_db_password: str=None, **kwargs) -> None: super(MonitoringDetails, self).__init__(**kwargs) self.hana_subnet = hana_subnet self.hana_hostname = hana_hostname self.hana_db_name = hana_db_name self.hana_db_sql_port = hana_db_sql_port self.hana_db_username = hana_db_username self.hana_db_password = hana_db_password
[docs]class NetworkProfile(Model): """Specifies the network settings for the HANA instance disks. Variables are only populated by the server, and will be ignored when sending a request. :param network_interfaces: Specifies the network interfaces for the HANA instance. :type network_interfaces: list[~azure.mgmt.hanaonazure.models.IpAddress] :ivar circuit_id: Specifies the circuit id for connecting to express route. :vartype circuit_id: str """ _validation = { 'circuit_id': {'readonly': True}, } _attribute_map = { 'network_interfaces': {'key': 'networkInterfaces', 'type': '[IpAddress]'}, 'circuit_id': {'key': 'circuitId', 'type': 'str'}, } def __init__(self, *, network_interfaces=None, **kwargs) -> None: super(NetworkProfile, self).__init__(**kwargs) self.network_interfaces = network_interfaces self.circuit_id = None
[docs]class Operation(Model): """HANA operation information. Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service. :vartype name: str :param display: Displayed HANA operation information :type display: ~azure.mgmt.hanaonazure.models.Display """ _validation = { 'name': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'Display'}, } def __init__(self, *, display=None, **kwargs) -> None: super(Operation, self).__init__(**kwargs) self.name = None self.display = display
[docs]class OSProfile(Model): """Specifies the operating system settings for the HANA instance. Variables are only populated by the server, and will be ignored when sending a request. :param computer_name: Specifies the host OS name of the HANA instance. :type computer_name: str :ivar os_type: This property allows you to specify the type of the OS. :vartype os_type: str :ivar version: Specifies version of operating system. :vartype version: str :param ssh_public_key: Specifies the SSH public key used to access the operating system. :type ssh_public_key: str """ _validation = { 'os_type': {'readonly': True}, 'version': {'readonly': True}, } _attribute_map = { 'computer_name': {'key': 'computerName', 'type': 'str'}, 'os_type': {'key': 'osType', 'type': 'str'}, 'version': {'key': 'version', 'type': 'str'}, 'ssh_public_key': {'key': 'sshPublicKey', 'type': 'str'}, } def __init__(self, *, computer_name: str=None, ssh_public_key: str=None, **kwargs) -> None: super(OSProfile, self).__init__(**kwargs) self.computer_name = computer_name self.os_type = None self.version = None self.ssh_public_key = ssh_public_key
[docs]class SapMonitor(Resource): """SAP monitor info on Azure (ARM properties and SAP monitor properties). Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID :vartype id: str :ivar name: Resource name :vartype name: str :ivar type: Resource type :vartype type: str :param location: Resource location :type location: str :ivar tags: Resource tags :vartype tags: dict[str, str] :param hana_subnet: Specifies the SAP monitor unique ID. :type hana_subnet: str :param hana_hostname: Hostname of the HANA instance. :type hana_hostname: str :param hana_db_name: Database name of the HANA instance. :type hana_db_name: str :param hana_db_sql_port: Database port of the HANA instance. :type hana_db_sql_port: int :param hana_db_username: Database username of the HANA instance. :type hana_db_username: str :param hana_db_password: Database password of the HANA instance. :type hana_db_password: str :param hana_db_password_key_vault_url: KeyVault URL link to the password for the HANA database. :type hana_db_password_key_vault_url: str :param hana_db_credentials_msi_id: MSI ID passed by customer which has access to customer's KeyVault and to be assigned to the Collector VM. :type hana_db_credentials_msi_id: str :param key_vault_id: Key Vault ID containing customer's HANA credentials. :type key_vault_id: str :ivar provisioning_state: State of provisioning of the HanaInstance. Possible values include: 'Accepted', 'Creating', 'Updating', 'Failed', 'Succeeded', 'Deleting', 'Migrating' :vartype provisioning_state: str or ~azure.mgmt.hanaonazure.models.HanaProvisioningStatesEnum :ivar managed_resource_group_name: The name of the resource group the SAP Monitor resources get deployed into. :vartype managed_resource_group_name: str :param log_analytics_workspace_arm_id: The ARM ID of the Log Analytics Workspace that is used for monitoring :type log_analytics_workspace_arm_id: str :param enable_customer_analytics: The value indicating whether to send analytics to Microsoft :type enable_customer_analytics: bool :param log_analytics_workspace_id: The workspace ID of the log analytics workspace to be used for monitoring :type log_analytics_workspace_id: str :param log_analytics_workspace_shared_key: The shared key of the log analytics workspace that is used for monitoring :type log_analytics_workspace_shared_key: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'tags': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'managed_resource_group_name': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'hana_subnet': {'key': 'properties.hanaSubnet', 'type': 'str'}, 'hana_hostname': {'key': 'properties.hanaHostname', 'type': 'str'}, 'hana_db_name': {'key': 'properties.hanaDbName', 'type': 'str'}, 'hana_db_sql_port': {'key': 'properties.hanaDbSqlPort', 'type': 'int'}, 'hana_db_username': {'key': 'properties.hanaDbUsername', 'type': 'str'}, 'hana_db_password': {'key': 'properties.hanaDbPassword', 'type': 'str'}, 'hana_db_password_key_vault_url': {'key': 'properties.hanaDbPasswordKeyVaultUrl', 'type': 'str'}, 'hana_db_credentials_msi_id': {'key': 'properties.hanaDbCredentialsMsiId', 'type': 'str'}, 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'managed_resource_group_name': {'key': 'properties.managedResourceGroupName', 'type': 'str'}, 'log_analytics_workspace_arm_id': {'key': 'properties.logAnalyticsWorkspaceArmId', 'type': 'str'}, 'enable_customer_analytics': {'key': 'properties.enableCustomerAnalytics', 'type': 'bool'}, 'log_analytics_workspace_id': {'key': 'properties.logAnalyticsWorkspaceId', 'type': 'str'}, 'log_analytics_workspace_shared_key': {'key': 'properties.logAnalyticsWorkspaceSharedKey', 'type': 'str'}, } def __init__(self, *, location: str=None, hana_subnet: str=None, hana_hostname: str=None, hana_db_name: str=None, hana_db_sql_port: int=None, hana_db_username: str=None, hana_db_password: str=None, hana_db_password_key_vault_url: str=None, hana_db_credentials_msi_id: str=None, key_vault_id: str=None, log_analytics_workspace_arm_id: str=None, enable_customer_analytics: bool=None, log_analytics_workspace_id: str=None, log_analytics_workspace_shared_key: str=None, **kwargs) -> None: super(SapMonitor, self).__init__(location=location, **kwargs) self.hana_subnet = hana_subnet self.hana_hostname = hana_hostname self.hana_db_name = hana_db_name self.hana_db_sql_port = hana_db_sql_port self.hana_db_username = hana_db_username self.hana_db_password = hana_db_password self.hana_db_password_key_vault_url = hana_db_password_key_vault_url self.hana_db_credentials_msi_id = hana_db_credentials_msi_id self.key_vault_id = key_vault_id self.provisioning_state = None self.managed_resource_group_name = None self.log_analytics_workspace_arm_id = log_analytics_workspace_arm_id self.enable_customer_analytics = enable_customer_analytics self.log_analytics_workspace_id = log_analytics_workspace_id self.log_analytics_workspace_shared_key = log_analytics_workspace_shared_key
[docs]class StorageProfile(Model): """Specifies the storage settings for the HANA instance disks. Variables are only populated by the server, and will be ignored when sending a request. :ivar nfs_ip_address: IP Address to connect to storage. :vartype nfs_ip_address: str :param os_disks: Specifies information about the operating system disk used by the hana instance. :type os_disks: list[~azure.mgmt.hanaonazure.models.Disk] """ _validation = { 'nfs_ip_address': {'readonly': True}, } _attribute_map = { 'nfs_ip_address': {'key': 'nfsIpAddress', 'type': 'str'}, 'os_disks': {'key': 'osDisks', 'type': '[Disk]'}, } def __init__(self, *, os_disks=None, **kwargs) -> None: super(StorageProfile, self).__init__(**kwargs) self.nfs_ip_address = None self.os_disks = os_disks
[docs]class Tags(Model): """Tags field of the HANA instance. :param tags: Tags field of the HANA instance. :type tags: dict[str, str] """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, tags=None, **kwargs) -> None: super(Tags, self).__init__(**kwargs) self.tags = tags