# 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 Resource(Model):
"""Resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Fully qualified resource Id for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
:vartype id: str
:ivar name: The name of the resource
:vartype name: str
:ivar type: The type of the resource. Ex-
Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
: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'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(Resource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
[docs]class AzureEntityResource(Resource):
"""The resource model definition for a Azure Resource Manager resource with an
etag.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Fully qualified resource Id for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
:vartype id: str
:ivar name: The name of the resource
:vartype name: str
:ivar type: The type of the resource. Ex-
Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
:vartype type: str
:ivar etag: Resource Etag.
:vartype etag: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'etag': {'key': 'etag', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(AzureEntityResource, self).__init__(**kwargs)
self.etag = None
class CloudError(Model):
"""CloudError.
"""
_attribute_map = {
}
[docs]class ErrorDetail(Model):
"""Error details.
All required parameters must be populated in order to send to Azure.
:param code: Required. The error's code.
:type code: str
:param message: Required. A human readable error message.
:type message: str
:param target: Indicates which property in the request is responsible for
the error.
:type target: str
:param details: Additional error details.
:type details: list[~azure.mgmt.hybridcompute.models.ErrorDetail]
"""
_validation = {
'code': {'required': True},
'message': {'required': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'target': {'key': 'target', 'type': 'str'},
'details': {'key': 'details', 'type': '[ErrorDetail]'},
}
def __init__(self, *, code: str, message: str, target: str=None, details=None, **kwargs) -> None:
super(ErrorDetail, self).__init__(**kwargs)
self.code = code
self.message = message
self.target = target
self.details = details
[docs]class ErrorResponse(Model):
"""Error response.
Contains details when the response code indicates an error.
All required parameters must be populated in order to send to Azure.
:param error: Required. The error details.
:type error: ~azure.mgmt.hybridcompute.models.ErrorDetail
"""
_validation = {
'error': {'required': True},
}
_attribute_map = {
'error': {'key': 'error', 'type': 'ErrorDetail'},
}
def __init__(self, *, error, **kwargs) -> None:
super(ErrorResponse, self).__init__(**kwargs)
self.error = error
[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 Identity(Model):
"""Managed Identity.
Variables are only populated by the server, and will be ignored when
sending a request.
:param type: The identity type.
:type type: str
:ivar principal_id: The identity's principal id.
:vartype principal_id: str
:ivar tenant_id: The identity's tenant id.
:vartype tenant_id: str
"""
_validation = {
'principal_id': {'readonly': True},
'tenant_id': {'readonly': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'principal_id': {'key': 'principalId', 'type': 'str'},
'tenant_id': {'key': 'tenantId', 'type': 'str'},
}
def __init__(self, *, type: str=None, **kwargs) -> None:
super(Identity, self).__init__(**kwargs)
self.type = type
self.principal_id = None
self.tenant_id = None
[docs]class LocationData(Model):
"""Metadata pertaining to the geographic location of the resource.
All required parameters must be populated in order to send to Azure.
:param name: Required. A canonical name for the geographic or physical
location.
:type name: str
:param city: The city or locality where the resource is located.
:type city: str
:param district: The district, state, or province where the resource is
located.
:type district: str
:param country_or_region: The country or region where the resource is
located
:type country_or_region: str
"""
_validation = {
'name': {'required': True, 'max_length': 256},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'city': {'key': 'city', 'type': 'str'},
'district': {'key': 'district', 'type': 'str'},
'country_or_region': {'key': 'countryOrRegion', 'type': 'str'},
}
def __init__(self, *, name: str, city: str=None, district: str=None, country_or_region: str=None, **kwargs) -> None:
super(LocationData, self).__init__(**kwargs)
self.name = name
self.city = city
self.district = district
self.country_or_region = country_or_region
[docs]class TrackedResource(Resource):
"""The resource model definition for a ARM tracked top level resource.
Variables are only populated by the server, and will be ignored when
sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified resource Id for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
:vartype id: str
:ivar name: The name of the resource
:vartype name: str
:ivar type: The type of the resource. Ex-
Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
:vartype type: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param location: Required. The geo-location where the resource lives
:type location: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'location': {'key': 'location', 'type': 'str'},
}
def __init__(self, *, location: str, tags=None, **kwargs) -> None:
super(TrackedResource, self).__init__(**kwargs)
self.tags = tags
self.location = location
[docs]class Machine(TrackedResource):
"""Describes a hybrid machine.
Variables are only populated by the server, and will be ignored when
sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified resource Id for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
:vartype id: str
:ivar name: The name of the resource
:vartype name: str
:ivar type: The type of the resource. Ex-
Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
:vartype type: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param location: Required. The geo-location where the resource lives
:type location: str
:param location_data:
:type location_data: ~azure.mgmt.hybridcompute.models.LocationData
:param os_profile: Specifies the operating system settings for the hybrid
machine.
:type os_profile:
~azure.mgmt.hybridcompute.models.MachinePropertiesOsProfile
:ivar provisioning_state: The provisioning state, which only appears in
the response.
:vartype provisioning_state: str
:ivar status: The status of the hybrid machine agent. Possible values
include: 'Connected', 'Disconnected', 'Error'
:vartype status: str or ~azure.mgmt.hybridcompute.models.StatusTypes
:ivar last_status_change: The time of the last status change.
:vartype last_status_change: datetime
:ivar error_details: Details about the error state.
:vartype error_details: list[~azure.mgmt.hybridcompute.models.ErrorDetail]
:ivar agent_version: The hybrid machine agent full version.
:vartype agent_version: str
:param vm_id: Specifies the hybrid machine unique ID.
:type vm_id: str
:ivar display_name: Specifies the hybrid machine display name.
:vartype display_name: str
:ivar machine_fqdn: Specifies the hybrid machine FQDN.
:vartype machine_fqdn: str
:param client_public_key: Public Key that the client provides to be used
during initial resource onboarding
:type client_public_key: str
:ivar os_name: The Operating System running on the hybrid machine.
:vartype os_name: str
:ivar os_version: The version of Operating System running on the hybrid
machine.
:vartype os_version: str
:ivar vm_uuid: Specifies the Arc Machine's unique SMBIOS ID
:vartype vm_uuid: str
:ivar extensions: Machine Extensions information
:vartype extensions:
list[~azure.mgmt.hybridcompute.models.MachineExtensionInstanceView]
:ivar os_sku: Specifies the Operating System product SKU.
:vartype os_sku: str
:ivar domain_name: Specifies the Windows domain name.
:vartype domain_name: str
:ivar ad_fqdn: Specifies the AD fully qualified display name.
:vartype ad_fqdn: str
:ivar dns_fqdn: Specifies the DNS fully qualified display name.
:vartype dns_fqdn: str
:param identity:
:type identity: ~azure.mgmt.hybridcompute.models.MachineIdentity
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
'provisioning_state': {'readonly': True},
'status': {'readonly': True},
'last_status_change': {'readonly': True},
'error_details': {'readonly': True},
'agent_version': {'readonly': True},
'display_name': {'readonly': True},
'machine_fqdn': {'readonly': True},
'os_name': {'readonly': True},
'os_version': {'readonly': True},
'vm_uuid': {'readonly': True},
'extensions': {'readonly': True},
'os_sku': {'readonly': True},
'domain_name': {'readonly': True},
'ad_fqdn': {'readonly': True},
'dns_fqdn': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'location': {'key': 'location', 'type': 'str'},
'location_data': {'key': 'properties.locationData', 'type': 'LocationData'},
'os_profile': {'key': 'properties.osProfile', 'type': 'MachinePropertiesOsProfile'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'status': {'key': 'properties.status', 'type': 'str'},
'last_status_change': {'key': 'properties.lastStatusChange', 'type': 'iso-8601'},
'error_details': {'key': 'properties.errorDetails', 'type': '[ErrorDetail]'},
'agent_version': {'key': 'properties.agentVersion', 'type': 'str'},
'vm_id': {'key': 'properties.vmId', 'type': 'str'},
'display_name': {'key': 'properties.displayName', 'type': 'str'},
'machine_fqdn': {'key': 'properties.machineFqdn', 'type': 'str'},
'client_public_key': {'key': 'properties.clientPublicKey', 'type': 'str'},
'os_name': {'key': 'properties.osName', 'type': 'str'},
'os_version': {'key': 'properties.osVersion', 'type': 'str'},
'vm_uuid': {'key': 'properties.vmUuid', 'type': 'str'},
'extensions': {'key': 'properties.extensions', 'type': '[MachineExtensionInstanceView]'},
'os_sku': {'key': 'properties.osSku', 'type': 'str'},
'domain_name': {'key': 'properties.domainName', 'type': 'str'},
'ad_fqdn': {'key': 'properties.adFqdn', 'type': 'str'},
'dns_fqdn': {'key': 'properties.dnsFqdn', 'type': 'str'},
'identity': {'key': 'identity', 'type': 'MachineIdentity'},
}
def __init__(self, *, location: str, tags=None, location_data=None, os_profile=None, vm_id: str=None, client_public_key: str=None, identity=None, **kwargs) -> None:
super(Machine, self).__init__(tags=tags, location=location, **kwargs)
self.location_data = location_data
self.os_profile = os_profile
self.provisioning_state = None
self.status = None
self.last_status_change = None
self.error_details = None
self.agent_version = None
self.vm_id = vm_id
self.display_name = None
self.machine_fqdn = None
self.client_public_key = client_public_key
self.os_name = None
self.os_version = None
self.vm_uuid = None
self.extensions = None
self.os_sku = None
self.domain_name = None
self.ad_fqdn = None
self.dns_fqdn = None
self.identity = identity
[docs]class MachineExtension(TrackedResource):
"""Describes a Machine Extension.
Variables are only populated by the server, and will be ignored when
sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified resource Id for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
:vartype id: str
:ivar name: The name of the resource
:vartype name: str
:ivar type: The type of the resource. Ex-
Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
:vartype type: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param location: Required. The geo-location where the resource lives
:type location: str
:param force_update_tag: How the extension handler should be forced to
update even if the extension configuration has not changed.
:type force_update_tag: str
:param publisher: The name of the extension handler publisher.
:type publisher: str
:param machine_extension_type: Specifies the type of the extension; an
example is "CustomScriptExtension".
:type machine_extension_type: str
:param type_handler_version: Specifies the version of the script handler.
:type type_handler_version: str
:param auto_upgrade_minor_version: Indicates whether the extension should
use a newer minor version if one is available at deployment time. Once
deployed, however, the extension will not upgrade minor versions unless
redeployed, even with this property set to true.
:type auto_upgrade_minor_version: bool
:param settings: Json formatted public settings for the extension.
:type settings: object
:param protected_settings: The extension can contain either
protectedSettings or protectedSettingsFromKeyVault or no protected
settings at all.
:type protected_settings: object
:ivar provisioning_state: The provisioning state, which only appears in
the response.
:vartype provisioning_state: str
:param instance_view: The machine extension instance view.
:type instance_view:
~azure.mgmt.hybridcompute.models.MachineExtensionPropertiesInstanceView
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'location': {'key': 'location', 'type': 'str'},
'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'},
'publisher': {'key': 'properties.publisher', 'type': 'str'},
'machine_extension_type': {'key': 'properties.type', 'type': 'str'},
'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
'settings': {'key': 'properties.settings', 'type': 'object'},
'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'instance_view': {'key': 'properties.instanceView', 'type': 'MachineExtensionPropertiesInstanceView'},
}
def __init__(self, *, location: str, tags=None, force_update_tag: str=None, publisher: str=None, machine_extension_type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, instance_view=None, **kwargs) -> None:
super(MachineExtension, self).__init__(tags=tags, location=location, **kwargs)
self.force_update_tag = force_update_tag
self.publisher = publisher
self.machine_extension_type = machine_extension_type
self.type_handler_version = type_handler_version
self.auto_upgrade_minor_version = auto_upgrade_minor_version
self.settings = settings
self.protected_settings = protected_settings
self.provisioning_state = None
self.instance_view = instance_view
[docs]class MachineExtensionInstanceView(Model):
"""Describes the Machine Extension Instance View.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar name: The machine extension name.
:vartype name: str
:ivar type: Specifies the type of the extension; an example is
"CustomScriptExtension".
:vartype type: str
:ivar type_handler_version: Specifies the version of the script handler.
:vartype type_handler_version: str
:param status: Instance view status.
:type status:
~azure.mgmt.hybridcompute.models.MachineExtensionInstanceViewStatus
"""
_validation = {
'name': {'readonly': True},
'type': {'readonly': True},
'type_handler_version': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'},
'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'},
}
def __init__(self, *, status=None, **kwargs) -> None:
super(MachineExtensionInstanceView, self).__init__(**kwargs)
self.name = None
self.type = None
self.type_handler_version = None
self.status = status
[docs]class MachineExtensionInstanceViewStatus(Model):
"""Instance view status.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar code: The status code.
:vartype code: str
:ivar level: The level code. Possible values include: 'Info', 'Warning',
'Error'
:vartype level: str or ~azure.mgmt.hybridcompute.models.StatusLevelTypes
:ivar display_status: The short localizable label for the status.
:vartype display_status: str
:ivar message: The detailed status message, including for alerts and error
messages.
:vartype message: str
:ivar time: The time of the status.
:vartype time: datetime
"""
_validation = {
'code': {'readonly': True},
'level': {'readonly': True},
'display_status': {'readonly': True},
'message': {'readonly': True},
'time': {'readonly': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'level': {'key': 'level', 'type': 'str'},
'display_status': {'key': 'displayStatus', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'time': {'key': 'time', 'type': 'iso-8601'},
}
def __init__(self, **kwargs) -> None:
super(MachineExtensionInstanceViewStatus, self).__init__(**kwargs)
self.code = None
self.level = None
self.display_status = None
self.message = None
self.time = None
[docs]class MachineExtensionPropertiesInstanceView(MachineExtensionInstanceView):
"""The machine extension instance view.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar name: The machine extension name.
:vartype name: str
:ivar type: Specifies the type of the extension; an example is
"CustomScriptExtension".
:vartype type: str
:ivar type_handler_version: Specifies the version of the script handler.
:vartype type_handler_version: str
:param status: Instance view status.
:type status:
~azure.mgmt.hybridcompute.models.MachineExtensionInstanceViewStatus
"""
_validation = {
'name': {'readonly': True},
'type': {'readonly': True},
'type_handler_version': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'},
'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'},
}
def __init__(self, *, status=None, **kwargs) -> None:
super(MachineExtensionPropertiesInstanceView, self).__init__(status=status, **kwargs)
[docs]class MachineExtensionPropertiesModel(Model):
"""Describes the properties of a Machine Extension.
Variables are only populated by the server, and will be ignored when
sending a request.
:param force_update_tag: How the extension handler should be forced to
update even if the extension configuration has not changed.
:type force_update_tag: str
:param publisher: The name of the extension handler publisher.
:type publisher: str
:param type: Specifies the type of the extension; an example is
"CustomScriptExtension".
:type type: str
:param type_handler_version: Specifies the version of the script handler.
:type type_handler_version: str
:param auto_upgrade_minor_version: Indicates whether the extension should
use a newer minor version if one is available at deployment time. Once
deployed, however, the extension will not upgrade minor versions unless
redeployed, even with this property set to true.
:type auto_upgrade_minor_version: bool
:param settings: Json formatted public settings for the extension.
:type settings: object
:param protected_settings: The extension can contain either
protectedSettings or protectedSettingsFromKeyVault or no protected
settings at all.
:type protected_settings: object
:ivar provisioning_state: The provisioning state, which only appears in
the response.
:vartype provisioning_state: str
:param instance_view: The machine extension instance view.
:type instance_view:
~azure.mgmt.hybridcompute.models.MachineExtensionPropertiesInstanceView
"""
_validation = {
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'force_update_tag': {'key': 'forceUpdateTag', 'type': 'str'},
'publisher': {'key': 'publisher', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'},
'auto_upgrade_minor_version': {'key': 'autoUpgradeMinorVersion', 'type': 'bool'},
'settings': {'key': 'settings', 'type': 'object'},
'protected_settings': {'key': 'protectedSettings', 'type': 'object'},
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'instance_view': {'key': 'instanceView', 'type': 'MachineExtensionPropertiesInstanceView'},
}
def __init__(self, *, force_update_tag: str=None, publisher: str=None, type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, instance_view=None, **kwargs) -> None:
super(MachineExtensionPropertiesModel, self).__init__(**kwargs)
self.force_update_tag = force_update_tag
self.publisher = publisher
self.type = type
self.type_handler_version = type_handler_version
self.auto_upgrade_minor_version = auto_upgrade_minor_version
self.settings = settings
self.protected_settings = protected_settings
self.provisioning_state = None
self.instance_view = instance_view
[docs]class UpdateResource(Model):
"""The Update Resource model definition.
:param tags: Resource tags
:type tags: dict[str, str]
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, tags=None, **kwargs) -> None:
super(UpdateResource, self).__init__(**kwargs)
self.tags = tags
[docs]class MachineExtensionUpdate(UpdateResource):
"""Describes a Machine Extension Update.
:param tags: Resource tags
:type tags: dict[str, str]
:param force_update_tag: How the extension handler should be forced to
update even if the extension configuration has not changed.
:type force_update_tag: str
:param publisher: The name of the extension handler publisher.
:type publisher: str
:param type: Specifies the type of the extension; an example is
"CustomScriptExtension".
:type type: str
:param type_handler_version: Specifies the version of the script handler.
:type type_handler_version: str
:param auto_upgrade_minor_version: Indicates whether the extension should
use a newer minor version if one is available at deployment time. Once
deployed, however, the extension will not upgrade minor versions unless
redeployed, even with this property set to true.
:type auto_upgrade_minor_version: bool
:param settings: Json formatted public settings for the extension.
:type settings: object
:param protected_settings: The extension can contain either
protectedSettings or protectedSettingsFromKeyVault or no protected
settings at all.
:type protected_settings: object
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'},
'publisher': {'key': 'properties.publisher', 'type': 'str'},
'type': {'key': 'properties.type', 'type': 'str'},
'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
'settings': {'key': 'properties.settings', 'type': 'object'},
'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
}
def __init__(self, *, tags=None, force_update_tag: str=None, publisher: str=None, type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, **kwargs) -> None:
super(MachineExtensionUpdate, self).__init__(tags=tags, **kwargs)
self.force_update_tag = force_update_tag
self.publisher = publisher
self.type = type
self.type_handler_version = type_handler_version
self.auto_upgrade_minor_version = auto_upgrade_minor_version
self.settings = settings
self.protected_settings = protected_settings
[docs]class MachineExtensionUpdatePropertiesModel(Model):
"""Describes the properties of a Machine Extension.
:param force_update_tag: How the extension handler should be forced to
update even if the extension configuration has not changed.
:type force_update_tag: str
:param publisher: The name of the extension handler publisher.
:type publisher: str
:param type: Specifies the type of the extension; an example is
"CustomScriptExtension".
:type type: str
:param type_handler_version: Specifies the version of the script handler.
:type type_handler_version: str
:param auto_upgrade_minor_version: Indicates whether the extension should
use a newer minor version if one is available at deployment time. Once
deployed, however, the extension will not upgrade minor versions unless
redeployed, even with this property set to true.
:type auto_upgrade_minor_version: bool
:param settings: Json formatted public settings for the extension.
:type settings: object
:param protected_settings: The extension can contain either
protectedSettings or protectedSettingsFromKeyVault or no protected
settings at all.
:type protected_settings: object
"""
_attribute_map = {
'force_update_tag': {'key': 'forceUpdateTag', 'type': 'str'},
'publisher': {'key': 'publisher', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'},
'auto_upgrade_minor_version': {'key': 'autoUpgradeMinorVersion', 'type': 'bool'},
'settings': {'key': 'settings', 'type': 'object'},
'protected_settings': {'key': 'protectedSettings', 'type': 'object'},
}
def __init__(self, *, force_update_tag: str=None, publisher: str=None, type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, **kwargs) -> None:
super(MachineExtensionUpdatePropertiesModel, self).__init__(**kwargs)
self.force_update_tag = force_update_tag
self.publisher = publisher
self.type = type
self.type_handler_version = type_handler_version
self.auto_upgrade_minor_version = auto_upgrade_minor_version
self.settings = settings
self.protected_settings = protected_settings
[docs]class MachineIdentity(Identity):
"""MachineIdentity.
Variables are only populated by the server, and will be ignored when
sending a request.
:param type: The identity type.
:type type: str
:ivar principal_id: The identity's principal id.
:vartype principal_id: str
:ivar tenant_id: The identity's tenant id.
:vartype tenant_id: str
"""
_validation = {
'principal_id': {'readonly': True},
'tenant_id': {'readonly': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'principal_id': {'key': 'principalId', 'type': 'str'},
'tenant_id': {'key': 'tenantId', 'type': 'str'},
}
def __init__(self, *, type: str=None, **kwargs) -> None:
super(MachineIdentity, self).__init__(type=type, **kwargs)
[docs]class MachineProperties(Model):
"""Describes the properties of a hybrid machine.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location_data:
:type location_data: ~azure.mgmt.hybridcompute.models.LocationData
:param os_profile: Specifies the operating system settings for the hybrid
machine.
:type os_profile:
~azure.mgmt.hybridcompute.models.MachinePropertiesOsProfile
:ivar provisioning_state: The provisioning state, which only appears in
the response.
:vartype provisioning_state: str
:ivar status: The status of the hybrid machine agent. Possible values
include: 'Connected', 'Disconnected', 'Error'
:vartype status: str or ~azure.mgmt.hybridcompute.models.StatusTypes
:ivar last_status_change: The time of the last status change.
:vartype last_status_change: datetime
:ivar error_details: Details about the error state.
:vartype error_details: list[~azure.mgmt.hybridcompute.models.ErrorDetail]
:ivar agent_version: The hybrid machine agent full version.
:vartype agent_version: str
:param vm_id: Specifies the hybrid machine unique ID.
:type vm_id: str
:ivar display_name: Specifies the hybrid machine display name.
:vartype display_name: str
:ivar machine_fqdn: Specifies the hybrid machine FQDN.
:vartype machine_fqdn: str
:param client_public_key: Public Key that the client provides to be used
during initial resource onboarding
:type client_public_key: str
:ivar os_name: The Operating System running on the hybrid machine.
:vartype os_name: str
:ivar os_version: The version of Operating System running on the hybrid
machine.
:vartype os_version: str
:ivar vm_uuid: Specifies the Arc Machine's unique SMBIOS ID
:vartype vm_uuid: str
:ivar extensions: Machine Extensions information
:vartype extensions:
list[~azure.mgmt.hybridcompute.models.MachineExtensionInstanceView]
:ivar os_sku: Specifies the Operating System product SKU.
:vartype os_sku: str
:ivar domain_name: Specifies the Windows domain name.
:vartype domain_name: str
:ivar ad_fqdn: Specifies the AD fully qualified display name.
:vartype ad_fqdn: str
:ivar dns_fqdn: Specifies the DNS fully qualified display name.
:vartype dns_fqdn: str
"""
_validation = {
'provisioning_state': {'readonly': True},
'status': {'readonly': True},
'last_status_change': {'readonly': True},
'error_details': {'readonly': True},
'agent_version': {'readonly': True},
'display_name': {'readonly': True},
'machine_fqdn': {'readonly': True},
'os_name': {'readonly': True},
'os_version': {'readonly': True},
'vm_uuid': {'readonly': True},
'extensions': {'readonly': True},
'os_sku': {'readonly': True},
'domain_name': {'readonly': True},
'ad_fqdn': {'readonly': True},
'dns_fqdn': {'readonly': True},
}
_attribute_map = {
'location_data': {'key': 'locationData', 'type': 'LocationData'},
'os_profile': {'key': 'osProfile', 'type': 'MachinePropertiesOsProfile'},
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'last_status_change': {'key': 'lastStatusChange', 'type': 'iso-8601'},
'error_details': {'key': 'errorDetails', 'type': '[ErrorDetail]'},
'agent_version': {'key': 'agentVersion', 'type': 'str'},
'vm_id': {'key': 'vmId', 'type': 'str'},
'display_name': {'key': 'displayName', 'type': 'str'},
'machine_fqdn': {'key': 'machineFqdn', 'type': 'str'},
'client_public_key': {'key': 'clientPublicKey', 'type': 'str'},
'os_name': {'key': 'osName', 'type': 'str'},
'os_version': {'key': 'osVersion', 'type': 'str'},
'vm_uuid': {'key': 'vmUuid', 'type': 'str'},
'extensions': {'key': 'extensions', 'type': '[MachineExtensionInstanceView]'},
'os_sku': {'key': 'osSku', 'type': 'str'},
'domain_name': {'key': 'domainName', 'type': 'str'},
'ad_fqdn': {'key': 'adFqdn', 'type': 'str'},
'dns_fqdn': {'key': 'dnsFqdn', 'type': 'str'},
}
def __init__(self, *, location_data=None, os_profile=None, vm_id: str=None, client_public_key: str=None, **kwargs) -> None:
super(MachineProperties, self).__init__(**kwargs)
self.location_data = location_data
self.os_profile = os_profile
self.provisioning_state = None
self.status = None
self.last_status_change = None
self.error_details = None
self.agent_version = None
self.vm_id = vm_id
self.display_name = None
self.machine_fqdn = None
self.client_public_key = client_public_key
self.os_name = None
self.os_version = None
self.vm_uuid = None
self.extensions = None
self.os_sku = None
self.domain_name = None
self.ad_fqdn = None
self.dns_fqdn = None
[docs]class OSProfile(Model):
"""Specifies the operating system settings for the hybrid machine.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar computer_name: Specifies the host OS name of the hybrid machine.
:vartype computer_name: str
"""
_validation = {
'computer_name': {'readonly': True},
}
_attribute_map = {
'computer_name': {'key': 'computerName', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(OSProfile, self).__init__(**kwargs)
self.computer_name = None
[docs]class MachinePropertiesOsProfile(OSProfile):
"""Specifies the operating system settings for the hybrid machine.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar computer_name: Specifies the host OS name of the hybrid machine.
:vartype computer_name: str
"""
_validation = {
'computer_name': {'readonly': True},
}
_attribute_map = {
'computer_name': {'key': 'computerName', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(MachinePropertiesOsProfile, self).__init__(**kwargs)
[docs]class MachineUpdate(UpdateResource):
"""Describes a hybrid machine Update.
Variables are only populated by the server, and will be ignored when
sending a request.
:param tags: Resource tags
:type tags: dict[str, str]
:param type: The identity type.
:type type: str
:ivar principal_id: The identity's principal id.
:vartype principal_id: str
:ivar tenant_id: The identity's tenant id.
:vartype tenant_id: str
:param location_data:
:type location_data: ~azure.mgmt.hybridcompute.models.LocationData
"""
_validation = {
'principal_id': {'readonly': True},
'tenant_id': {'readonly': True},
}
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'type': {'key': 'identity.type', 'type': 'str'},
'principal_id': {'key': 'identity.principalId', 'type': 'str'},
'tenant_id': {'key': 'identity.tenantId', 'type': 'str'},
'location_data': {'key': 'properties.locationData', 'type': 'LocationData'},
}
def __init__(self, *, tags=None, type: str=None, location_data=None, **kwargs) -> None:
super(MachineUpdate, self).__init__(tags=tags, **kwargs)
self.type = type
self.principal_id = None
self.tenant_id = None
self.location_data = location_data
[docs]class MachineUpdateProperties(Model):
"""Describes the ARM updatable properties of a hybrid machine.
:param location_data:
:type location_data: ~azure.mgmt.hybridcompute.models.LocationData
"""
_attribute_map = {
'location_data': {'key': 'locationData', 'type': 'LocationData'},
}
def __init__(self, *, location_data=None, **kwargs) -> None:
super(MachineUpdateProperties, self).__init__(**kwargs)
self.location_data = location_data
[docs]class OperationValue(Model):
"""Describes the properties of a Compute Operation value.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar origin: The origin of the compute operation.
:vartype origin: str
:ivar name: The name of the compute operation.
:vartype name: str
:ivar operation: The display name of the compute operation.
:vartype operation: str
:ivar resource: The display name of the resource the operation applies to.
:vartype resource: str
:ivar description: The description of the operation.
:vartype description: str
:ivar provider: The resource provider for the operation.
:vartype provider: str
"""
_validation = {
'origin': {'readonly': True},
'name': {'readonly': True},
'operation': {'readonly': True},
'resource': {'readonly': True},
'description': {'readonly': True},
'provider': {'readonly': True},
}
_attribute_map = {
'origin': {'key': 'origin', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'operation': {'key': 'display.operation', 'type': 'str'},
'resource': {'key': 'display.resource', 'type': 'str'},
'description': {'key': 'display.description', 'type': 'str'},
'provider': {'key': 'display.provider', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(OperationValue, self).__init__(**kwargs)
self.origin = None
self.name = None
self.operation = None
self.resource = None
self.description = None
self.provider = None
[docs]class OperationValueDisplayModel(Model):
"""Describes the properties of a Hybrid Compute Operation Value Display.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar operation: The display name of the compute operation.
:vartype operation: str
:ivar resource: The display name of the resource the operation applies to.
:vartype resource: str
:ivar description: The description of the operation.
:vartype description: str
:ivar provider: The resource provider for the operation.
:vartype provider: str
"""
_validation = {
'operation': {'readonly': True},
'resource': {'readonly': True},
'description': {'readonly': True},
'provider': {'readonly': True},
}
_attribute_map = {
'operation': {'key': 'operation', 'type': 'str'},
'resource': {'key': 'resource', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
'provider': {'key': 'provider', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(OperationValueDisplayModel, self).__init__(**kwargs)
self.operation = None
self.resource = None
self.description = None
self.provider = None
[docs]class ProxyResource(Resource):
"""The resource model definition for a ARM proxy resource. It will have
everything other than required location and tags.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Fully qualified resource Id for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
:vartype id: str
:ivar name: The name of the resource
:vartype name: str
:ivar type: The type of the resource. Ex-
Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
: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'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(ProxyResource, self).__init__(**kwargs)