# coding=utf-8
# pylint: disable=too-many-lines
# --------------------------------------------------------------------------
# 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.
# --------------------------------------------------------------------------
import datetime
from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union
from .. import _serialization
if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from .. import models as _models
[docs]class Resource(_serialization.Model):
"""Common fields that are returned in the response for all Azure Resource Manager resources.
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}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.system_data = None
[docs]class ProxyResource(Resource):
"""The resource model definition for a Azure Resource Manager proxy resource. It will not have
tags and a location.
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}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
"""
[docs]class Agent(ProxyResource): # pylint: disable=too-many-instance-attributes
"""The Agent 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 server.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
:ivar description: A description for the Agent.
:vartype description: str
:ivar agent_version: The Agent version.
:vartype agent_version: str
:ivar arc_resource_id: The fully qualified resource ID of the Hybrid Compute resource for the
Agent. Required.
:vartype arc_resource_id: str
:ivar arc_vm_uuid: The VM UUID of the Hybrid Compute resource for the Agent. Required.
:vartype arc_vm_uuid: str
:ivar agent_status: The Agent status. Known values are: "Registering", "Offline", "Online",
"Executing", "RequiresAttention", and "Unregistering".
:vartype agent_status: str or ~azure.mgmt.storagemover.models.AgentStatus
:ivar last_status_update: The last updated time of the Agent status.
:vartype last_status_update: ~datetime.datetime
:ivar local_ip_address: Local IP address reported by the Agent.
:vartype local_ip_address: str
:ivar memory_in_mb: Available memory reported by the Agent, in MB.
:vartype memory_in_mb: int
:ivar number_of_cores: Available compute cores reported by the Agent.
:vartype number_of_cores: int
:ivar uptime_in_seconds: Uptime of the Agent in seconds.
:vartype uptime_in_seconds: int
:ivar time_zone: The agent's local time zone represented in Windows format.
:vartype time_zone: str
:ivar upload_limit_schedule: The WAN-link upload limit schedule that applies to any Job Run the
agent executes. Data plane operations (migrating files) are affected. Control plane operations
ensure seamless migration functionality and are not limited by this schedule. The schedule is
interpreted with the agent's local time.
:vartype upload_limit_schedule: ~azure.mgmt.storagemover.models.UploadLimitSchedule
:ivar error_details:
:vartype error_details: ~azure.mgmt.storagemover.models.AgentPropertiesErrorDetails
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"agent_version": {"readonly": True},
"arc_resource_id": {"required": True},
"arc_vm_uuid": {"required": True},
"agent_status": {"readonly": True},
"last_status_update": {"readonly": True},
"local_ip_address": {"readonly": True},
"memory_in_mb": {"readonly": True},
"number_of_cores": {"readonly": True},
"uptime_in_seconds": {"readonly": True},
"time_zone": {"readonly": True},
"error_details": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"description": {"key": "properties.description", "type": "str"},
"agent_version": {"key": "properties.agentVersion", "type": "str"},
"arc_resource_id": {"key": "properties.arcResourceId", "type": "str"},
"arc_vm_uuid": {"key": "properties.arcVmUuid", "type": "str"},
"agent_status": {"key": "properties.agentStatus", "type": "str"},
"last_status_update": {"key": "properties.lastStatusUpdate", "type": "iso-8601"},
"local_ip_address": {"key": "properties.localIPAddress", "type": "str"},
"memory_in_mb": {"key": "properties.memoryInMB", "type": "int"},
"number_of_cores": {"key": "properties.numberOfCores", "type": "int"},
"uptime_in_seconds": {"key": "properties.uptimeInSeconds", "type": "int"},
"time_zone": {"key": "properties.timeZone", "type": "str"},
"upload_limit_schedule": {"key": "properties.uploadLimitSchedule", "type": "UploadLimitSchedule"},
"error_details": {"key": "properties.errorDetails", "type": "AgentPropertiesErrorDetails"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(
self,
*,
arc_resource_id: str,
arc_vm_uuid: str,
description: Optional[str] = None,
upload_limit_schedule: Optional["_models.UploadLimitSchedule"] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Agent.
:paramtype description: str
:keyword arc_resource_id: The fully qualified resource ID of the Hybrid Compute resource for
the Agent. Required.
:paramtype arc_resource_id: str
:keyword arc_vm_uuid: The VM UUID of the Hybrid Compute resource for the Agent. Required.
:paramtype arc_vm_uuid: str
:keyword upload_limit_schedule: The WAN-link upload limit schedule that applies to any Job Run
the agent executes. Data plane operations (migrating files) are affected. Control plane
operations ensure seamless migration functionality and are not limited by this schedule. The
schedule is interpreted with the agent's local time.
:paramtype upload_limit_schedule: ~azure.mgmt.storagemover.models.UploadLimitSchedule
"""
super().__init__(**kwargs)
self.description = description
self.agent_version = None
self.arc_resource_id = arc_resource_id
self.arc_vm_uuid = arc_vm_uuid
self.agent_status = None
self.last_status_update = None
self.local_ip_address = None
self.memory_in_mb = None
self.number_of_cores = None
self.uptime_in_seconds = None
self.time_zone = None
self.upload_limit_schedule = upload_limit_schedule
self.error_details = None
self.provisioning_state = None
[docs]class AgentList(_serialization.Model):
"""List of Agents.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value:
:vartype value: list[~azure.mgmt.storagemover.models.Agent]
:ivar next_link: Request URL that can be used to query next page of containers. Returned when
total number of requested containers exceed maximum page size.
:vartype next_link: str
"""
_validation = {
"value": {"readonly": True},
"next_link": {"readonly": True},
}
_attribute_map = {
"value": {"key": "value", "type": "[Agent]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
[docs]class AgentPropertiesErrorDetails(_serialization.Model):
"""AgentPropertiesErrorDetails.
:ivar code: Error code reported by Agent.
:vartype code: str
:ivar message: Expanded description of reported error code.
:vartype message: str
"""
_attribute_map = {
"code": {"key": "code", "type": "str"},
"message": {"key": "message", "type": "str"},
}
def __init__(self, *, code: Optional[str] = None, message: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword code: Error code reported by Agent.
:paramtype code: str
:keyword message: Expanded description of reported error code.
:paramtype message: str
"""
super().__init__(**kwargs)
self.code = code
self.message = message
[docs]class AgentUpdateParameters(_serialization.Model):
"""The Agent resource.
:ivar description: A description for the Agent.
:vartype description: str
:ivar upload_limit_schedule: The WAN-link upload limit schedule that applies to any Job Run the
agent executes. Data plane operations (migrating files) are affected. Control plane operations
ensure seamless migration functionality and are not limited by this schedule. The schedule is
interpreted with the agent's local time.
:vartype upload_limit_schedule: ~azure.mgmt.storagemover.models.UploadLimitSchedule
"""
_attribute_map = {
"description": {"key": "properties.description", "type": "str"},
"upload_limit_schedule": {"key": "properties.uploadLimitSchedule", "type": "UploadLimitSchedule"},
}
def __init__(
self,
*,
description: Optional[str] = None,
upload_limit_schedule: Optional["_models.UploadLimitSchedule"] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Agent.
:paramtype description: str
:keyword upload_limit_schedule: The WAN-link upload limit schedule that applies to any Job Run
the agent executes. Data plane operations (migrating files) are affected. Control plane
operations ensure seamless migration functionality and are not limited by this schedule. The
schedule is interpreted with the agent's local time.
:paramtype upload_limit_schedule: ~azure.mgmt.storagemover.models.UploadLimitSchedule
"""
super().__init__(**kwargs)
self.description = description
self.upload_limit_schedule = upload_limit_schedule
[docs]class Credentials(_serialization.Model):
"""The Credentials.
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
AzureKeyVaultSmbCredentials
All required parameters must be populated in order to send to server.
:ivar type: The Credentials type. Required. "AzureKeyVaultSmb"
:vartype type: str or ~azure.mgmt.storagemover.models.CredentialType
"""
_validation = {
"type": {"required": True},
}
_attribute_map = {
"type": {"key": "type", "type": "str"},
}
_subtype_map = {"type": {"AzureKeyVaultSmb": "AzureKeyVaultSmbCredentials"}}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.type: Optional[str] = None
[docs]class AzureKeyVaultSmbCredentials(Credentials):
"""The Azure Key Vault secret URIs which store the credentials.
All required parameters must be populated in order to send to server.
:ivar type: The Credentials type. Required. "AzureKeyVaultSmb"
:vartype type: str or ~azure.mgmt.storagemover.models.CredentialType
:ivar username_uri: The Azure Key Vault secret URI which stores the username. Use empty string
to clean-up existing value.
:vartype username_uri: str
:ivar password_uri: The Azure Key Vault secret URI which stores the password. Use empty string
to clean-up existing value.
:vartype password_uri: str
"""
_validation = {
"type": {"required": True},
}
_attribute_map = {
"type": {"key": "type", "type": "str"},
"username_uri": {"key": "usernameUri", "type": "str"},
"password_uri": {"key": "passwordUri", "type": "str"},
}
def __init__(
self, *, username_uri: Optional[str] = None, password_uri: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword username_uri: The Azure Key Vault secret URI which stores the username. Use empty
string to clean-up existing value.
:paramtype username_uri: str
:keyword password_uri: The Azure Key Vault secret URI which stores the password. Use empty
string to clean-up existing value.
:paramtype password_uri: str
"""
super().__init__(**kwargs)
self.type: str = "AzureKeyVaultSmb"
self.username_uri = username_uri
self.password_uri = password_uri
[docs]class EndpointBaseProperties(_serialization.Model):
"""The resource specific properties for the Storage Mover resource.
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
AzureStorageBlobContainerEndpointProperties, AzureStorageSmbFileShareEndpointProperties,
NfsMountEndpointProperties, SmbMountEndpointProperties
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 server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
"""
_validation = {
"endpoint_type": {"required": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
"provisioning_state": {"key": "provisioningState", "type": "str"},
}
_subtype_map = {
"endpoint_type": {
"AzureStorageBlobContainer": "AzureStorageBlobContainerEndpointProperties",
"AzureStorageSmbFileShare": "AzureStorageSmbFileShareEndpointProperties",
"NfsMount": "NfsMountEndpointProperties",
"SmbMount": "SmbMountEndpointProperties",
}
}
def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
"""
super().__init__(**kwargs)
self.endpoint_type: Optional[str] = None
self.description = description
self.provisioning_state = None
[docs]class AzureStorageBlobContainerEndpointProperties(EndpointBaseProperties): # pylint: disable=name-too-long
"""The properties of Azure Storage blob container endpoint.
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 server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
:ivar storage_account_resource_id: The Azure Resource ID of the storage account that is the
target destination. Required.
:vartype storage_account_resource_id: str
:ivar blob_container_name: The name of the Storage blob container that is the target
destination. Required.
:vartype blob_container_name: str
"""
_validation = {
"endpoint_type": {"required": True},
"provisioning_state": {"readonly": True},
"storage_account_resource_id": {"required": True},
"blob_container_name": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
"provisioning_state": {"key": "provisioningState", "type": "str"},
"storage_account_resource_id": {"key": "storageAccountResourceId", "type": "str"},
"blob_container_name": {"key": "blobContainerName", "type": "str"},
}
def __init__(
self,
*,
storage_account_resource_id: str,
blob_container_name: str,
description: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
:keyword storage_account_resource_id: The Azure Resource ID of the storage account that is the
target destination. Required.
:paramtype storage_account_resource_id: str
:keyword blob_container_name: The name of the Storage blob container that is the target
destination. Required.
:paramtype blob_container_name: str
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "AzureStorageBlobContainer"
self.storage_account_resource_id = storage_account_resource_id
self.blob_container_name = blob_container_name
[docs]class EndpointBaseUpdateProperties(_serialization.Model):
"""The Endpoint resource, which contains information about file sources and targets.
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
AzureStorageBlobContainerEndpointUpdateProperties,
AzureStorageSmbFileShareEndpointUpdateProperties, NfsMountEndpointUpdateProperties,
SmbMountEndpointUpdateProperties
All required parameters must be populated in order to send to server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
}
_subtype_map = {
"endpoint_type": {
"AzureStorageBlobContainer": "AzureStorageBlobContainerEndpointUpdateProperties",
"AzureStorageSmbFileShare": "AzureStorageSmbFileShareEndpointUpdateProperties",
"NfsMount": "NfsMountEndpointUpdateProperties",
"SmbMount": "SmbMountEndpointUpdateProperties",
}
}
def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
"""
super().__init__(**kwargs)
self.endpoint_type: Optional[str] = None
self.description = description
[docs]class AzureStorageBlobContainerEndpointUpdateProperties(EndpointBaseUpdateProperties): # pylint: disable=name-too-long
"""AzureStorageBlobContainerEndpointUpdateProperties.
All required parameters must be populated in order to send to server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
}
def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "AzureStorageBlobContainer"
[docs]class AzureStorageSmbFileShareEndpointProperties(EndpointBaseProperties): # pylint: disable=name-too-long
"""The properties of Azure Storage SMB file share endpoint.
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 server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
:ivar storage_account_resource_id: The Azure Resource ID of the storage account. Required.
:vartype storage_account_resource_id: str
:ivar file_share_name: The name of the Azure Storage file share. Required.
:vartype file_share_name: str
"""
_validation = {
"endpoint_type": {"required": True},
"provisioning_state": {"readonly": True},
"storage_account_resource_id": {"required": True},
"file_share_name": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
"provisioning_state": {"key": "provisioningState", "type": "str"},
"storage_account_resource_id": {"key": "storageAccountResourceId", "type": "str"},
"file_share_name": {"key": "fileShareName", "type": "str"},
}
def __init__(
self,
*,
storage_account_resource_id: str,
file_share_name: str,
description: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
:keyword storage_account_resource_id: The Azure Resource ID of the storage account. Required.
:paramtype storage_account_resource_id: str
:keyword file_share_name: The name of the Azure Storage file share. Required.
:paramtype file_share_name: str
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "AzureStorageSmbFileShare"
self.storage_account_resource_id = storage_account_resource_id
self.file_share_name = file_share_name
[docs]class AzureStorageSmbFileShareEndpointUpdateProperties(EndpointBaseUpdateProperties): # pylint: disable=name-too-long
"""The properties of Azure Storage SMB file share endpoint to update.
All required parameters must be populated in order to send to server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
}
def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "AzureStorageSmbFileShare"
[docs]class Endpoint(ProxyResource):
"""The Endpoint resource, which contains information about file sources and targets.
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 server.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
:ivar properties: The resource specific properties for the Storage Mover resource. Required.
:vartype properties: ~azure.mgmt.storagemover.models.EndpointBaseProperties
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"properties": {"required": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"properties": {"key": "properties", "type": "EndpointBaseProperties"},
}
def __init__(self, *, properties: "_models.EndpointBaseProperties", **kwargs: Any) -> None:
"""
:keyword properties: The resource specific properties for the Storage Mover resource. Required.
:paramtype properties: ~azure.mgmt.storagemover.models.EndpointBaseProperties
"""
super().__init__(**kwargs)
self.properties = properties
[docs]class EndpointBaseUpdateParameters(_serialization.Model):
"""The Endpoint resource.
:ivar properties: The Endpoint resource, which contains information about file sources and
targets.
:vartype properties: ~azure.mgmt.storagemover.models.EndpointBaseUpdateProperties
"""
_attribute_map = {
"properties": {"key": "properties", "type": "EndpointBaseUpdateProperties"},
}
def __init__(self, *, properties: Optional["_models.EndpointBaseUpdateProperties"] = None, **kwargs: Any) -> None:
"""
:keyword properties: The Endpoint resource, which contains information about file sources and
targets.
:paramtype properties: ~azure.mgmt.storagemover.models.EndpointBaseUpdateProperties
"""
super().__init__(**kwargs)
self.properties = properties
[docs]class EndpointList(_serialization.Model):
"""List of Endpoints.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value:
:vartype value: list[~azure.mgmt.storagemover.models.Endpoint]
:ivar next_link: Request URL that can be used to query next page of containers. Returned when
total number of requested containers exceed maximum page size.
:vartype next_link: str
"""
_validation = {
"value": {"readonly": True},
"next_link": {"readonly": True},
}
_attribute_map = {
"value": {"key": "value", "type": "[Endpoint]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
[docs]class ErrorAdditionalInfo(_serialization.Model):
"""The resource management error additional info.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar type: The additional info type.
:vartype type: str
:ivar info: The additional info.
:vartype info: JSON
"""
_validation = {
"type": {"readonly": True},
"info": {"readonly": True},
}
_attribute_map = {
"type": {"key": "type", "type": "str"},
"info": {"key": "info", "type": "object"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.type = None
self.info = None
[docs]class ErrorDetail(_serialization.Model):
"""The error detail.
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
:ivar target: The error target.
:vartype target: str
:ivar details: The error details.
:vartype details: list[~azure.mgmt.storagemover.models.ErrorDetail]
:ivar additional_info: The error additional info.
:vartype additional_info: list[~azure.mgmt.storagemover.models.ErrorAdditionalInfo]
"""
_validation = {
"code": {"readonly": True},
"message": {"readonly": True},
"target": {"readonly": True},
"details": {"readonly": True},
"additional_info": {"readonly": True},
}
_attribute_map = {
"code": {"key": "code", "type": "str"},
"message": {"key": "message", "type": "str"},
"target": {"key": "target", "type": "str"},
"details": {"key": "details", "type": "[ErrorDetail]"},
"additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.code = None
self.message = None
self.target = None
self.details = None
self.additional_info = None
[docs]class ErrorResponse(_serialization.Model):
"""Common error response for all Azure Resource Manager APIs to return error details for failed
operations. (This also follows the OData error response format.).
:ivar error: The error object.
:vartype error: ~azure.mgmt.storagemover.models.ErrorDetail
"""
_attribute_map = {
"error": {"key": "error", "type": "ErrorDetail"},
}
def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None:
"""
:keyword error: The error object.
:paramtype error: ~azure.mgmt.storagemover.models.ErrorDetail
"""
super().__init__(**kwargs)
self.error = error
[docs]class JobDefinition(ProxyResource): # pylint: disable=too-many-instance-attributes
"""The Job Definition 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 server.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
:ivar description: A description for the Job Definition.
:vartype description: str
:ivar copy_mode: Strategy to use for copy. Required. Known values are: "Additive" and "Mirror".
:vartype copy_mode: str or ~azure.mgmt.storagemover.models.CopyMode
:ivar source_name: The name of the source Endpoint. Required.
:vartype source_name: str
:ivar source_resource_id: Fully qualified resource ID of the source Endpoint.
:vartype source_resource_id: str
:ivar source_subpath: The subpath to use when reading from the source Endpoint.
:vartype source_subpath: str
:ivar target_name: The name of the target Endpoint. Required.
:vartype target_name: str
:ivar target_resource_id: Fully qualified resource ID of the target Endpoint.
:vartype target_resource_id: str
:ivar target_subpath: The subpath to use when writing to the target Endpoint.
:vartype target_subpath: str
:ivar latest_job_run_name: The name of the Job Run in a non-terminal state, if exists.
:vartype latest_job_run_name: str
:ivar latest_job_run_resource_id: The fully qualified resource ID of the Job Run in a
non-terminal state, if exists.
:vartype latest_job_run_resource_id: str
:ivar latest_job_run_status: The current status of the Job Run in a non-terminal state, if
exists. Known values are: "Queued", "Started", "Running", "CancelRequested", "Canceling",
"Canceled", "Failed", "Succeeded", and "PausedByBandwidthManagement".
:vartype latest_job_run_status: str or ~azure.mgmt.storagemover.models.JobRunStatus
:ivar agent_name: Name of the Agent to assign for new Job Runs of this Job Definition.
:vartype agent_name: str
:ivar agent_resource_id: Fully qualified resource id of the Agent to assign for new Job Runs of
this Job Definition.
:vartype agent_resource_id: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"copy_mode": {"required": True},
"source_name": {"required": True},
"source_resource_id": {"readonly": True},
"target_name": {"required": True},
"target_resource_id": {"readonly": True},
"latest_job_run_name": {"readonly": True},
"latest_job_run_resource_id": {"readonly": True},
"latest_job_run_status": {"readonly": True},
"agent_resource_id": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"description": {"key": "properties.description", "type": "str"},
"copy_mode": {"key": "properties.copyMode", "type": "str"},
"source_name": {"key": "properties.sourceName", "type": "str"},
"source_resource_id": {"key": "properties.sourceResourceId", "type": "str"},
"source_subpath": {"key": "properties.sourceSubpath", "type": "str"},
"target_name": {"key": "properties.targetName", "type": "str"},
"target_resource_id": {"key": "properties.targetResourceId", "type": "str"},
"target_subpath": {"key": "properties.targetSubpath", "type": "str"},
"latest_job_run_name": {"key": "properties.latestJobRunName", "type": "str"},
"latest_job_run_resource_id": {"key": "properties.latestJobRunResourceId", "type": "str"},
"latest_job_run_status": {"key": "properties.latestJobRunStatus", "type": "str"},
"agent_name": {"key": "properties.agentName", "type": "str"},
"agent_resource_id": {"key": "properties.agentResourceId", "type": "str"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(
self,
*,
copy_mode: Union[str, "_models.CopyMode"],
source_name: str,
target_name: str,
description: Optional[str] = None,
source_subpath: Optional[str] = None,
target_subpath: Optional[str] = None,
agent_name: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Job Definition.
:paramtype description: str
:keyword copy_mode: Strategy to use for copy. Required. Known values are: "Additive" and
"Mirror".
:paramtype copy_mode: str or ~azure.mgmt.storagemover.models.CopyMode
:keyword source_name: The name of the source Endpoint. Required.
:paramtype source_name: str
:keyword source_subpath: The subpath to use when reading from the source Endpoint.
:paramtype source_subpath: str
:keyword target_name: The name of the target Endpoint. Required.
:paramtype target_name: str
:keyword target_subpath: The subpath to use when writing to the target Endpoint.
:paramtype target_subpath: str
:keyword agent_name: Name of the Agent to assign for new Job Runs of this Job Definition.
:paramtype agent_name: str
"""
super().__init__(**kwargs)
self.description = description
self.copy_mode = copy_mode
self.source_name = source_name
self.source_resource_id = None
self.source_subpath = source_subpath
self.target_name = target_name
self.target_resource_id = None
self.target_subpath = target_subpath
self.latest_job_run_name = None
self.latest_job_run_resource_id = None
self.latest_job_run_status = None
self.agent_name = agent_name
self.agent_resource_id = None
self.provisioning_state = None
[docs]class JobDefinitionList(_serialization.Model):
"""List of Job Definitions.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value:
:vartype value: list[~azure.mgmt.storagemover.models.JobDefinition]
:ivar next_link: Request URL that can be used to query next page of containers. Returned when
total number of requested containers exceed maximum page size.
:vartype next_link: str
"""
_validation = {
"value": {"readonly": True},
"next_link": {"readonly": True},
}
_attribute_map = {
"value": {"key": "value", "type": "[JobDefinition]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
[docs]class JobDefinitionUpdateParameters(_serialization.Model):
"""The Job Definition resource.
:ivar description: A description for the Job Definition.
:vartype description: str
:ivar copy_mode: Strategy to use for copy. Known values are: "Additive" and "Mirror".
:vartype copy_mode: str or ~azure.mgmt.storagemover.models.CopyMode
:ivar agent_name: Name of the Agent to assign for new Job Runs of this Job Definition.
:vartype agent_name: str
"""
_attribute_map = {
"description": {"key": "properties.description", "type": "str"},
"copy_mode": {"key": "properties.copyMode", "type": "str"},
"agent_name": {"key": "properties.agentName", "type": "str"},
}
def __init__(
self,
*,
description: Optional[str] = None,
copy_mode: Optional[Union[str, "_models.CopyMode"]] = None,
agent_name: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Job Definition.
:paramtype description: str
:keyword copy_mode: Strategy to use for copy. Known values are: "Additive" and "Mirror".
:paramtype copy_mode: str or ~azure.mgmt.storagemover.models.CopyMode
:keyword agent_name: Name of the Agent to assign for new Job Runs of this Job Definition.
:paramtype agent_name: str
"""
super().__init__(**kwargs)
self.description = description
self.copy_mode = copy_mode
self.agent_name = agent_name
[docs]class JobRun(ProxyResource): # pylint: disable=too-many-instance-attributes
"""The Job Run 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}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
:ivar status: The state of the job execution. Known values are: "Queued", "Started", "Running",
"CancelRequested", "Canceling", "Canceled", "Failed", "Succeeded", and
"PausedByBandwidthManagement".
:vartype status: str or ~azure.mgmt.storagemover.models.JobRunStatus
:ivar scan_status: The status of Agent's scanning of source. Known values are: "NotStarted",
"Scanning", and "Completed".
:vartype scan_status: str or ~azure.mgmt.storagemover.models.JobRunScanStatus
:ivar agent_name: Name of the Agent assigned to this run.
:vartype agent_name: str
:ivar agent_resource_id: Fully qualified resource id of the Agent assigned to this run.
:vartype agent_resource_id: str
:ivar execution_start_time: Start time of the run. Null if no Agent reported that the job has
started.
:vartype execution_start_time: ~datetime.datetime
:ivar execution_end_time: End time of the run. Null if Agent has not reported that the job has
ended.
:vartype execution_end_time: ~datetime.datetime
:ivar last_status_update: The last updated time of the Job Run.
:vartype last_status_update: ~datetime.datetime
:ivar items_scanned: Number of items scanned so far in source.
:vartype items_scanned: int
:ivar items_excluded: Number of items that will not be transferred, as they are excluded by
user configuration.
:vartype items_excluded: int
:ivar items_unsupported: Number of items that will not be transferred, as they are unsupported
on target.
:vartype items_unsupported: int
:ivar items_no_transfer_needed: Number of items that will not be transferred, as they are
already found on target (e.g. mirror mode).
:vartype items_no_transfer_needed: int
:ivar items_failed: Number of items that were attempted to transfer and failed.
:vartype items_failed: int
:ivar items_transferred: Number of items successfully transferred to target.
:vartype items_transferred: int
:ivar bytes_scanned: Bytes of data scanned so far in source.
:vartype bytes_scanned: int
:ivar bytes_excluded: Bytes of data that will not be transferred, as they are excluded by user
configuration.
:vartype bytes_excluded: int
:ivar bytes_unsupported: Bytes of data that will not be transferred, as they are unsupported on
target.
:vartype bytes_unsupported: int
:ivar bytes_no_transfer_needed: Bytes of data that will not be transferred, as they are already
found on target (e.g. mirror mode).
:vartype bytes_no_transfer_needed: int
:ivar bytes_failed: Bytes of data that were attempted to transfer and failed.
:vartype bytes_failed: int
:ivar bytes_transferred: Bytes of data successfully transferred to target.
:vartype bytes_transferred: int
:ivar source_name: Name of source Endpoint resource. This resource may no longer exist.
:vartype source_name: str
:ivar source_resource_id: Fully qualified resource id of source Endpoint. This id may no longer
exist.
:vartype source_resource_id: str
:ivar source_properties: Copy of source Endpoint resource's properties at time of Job Run
creation.
:vartype source_properties: JSON
:ivar target_name: Name of target Endpoint resource. This resource may no longer exist.
:vartype target_name: str
:ivar target_resource_id: Fully qualified resource id of of Endpoint. This id may no longer
exist.
:vartype target_resource_id: str
:ivar target_properties: Copy of Endpoint resource's properties at time of Job Run creation.
:vartype target_properties: JSON
:ivar job_definition_properties: Copy of parent Job Definition's properties at time of Job Run
creation.
:vartype job_definition_properties: JSON
:ivar error: Error details.
:vartype error: ~azure.mgmt.storagemover.models.JobRunError
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"status": {"readonly": True},
"scan_status": {"readonly": True},
"agent_name": {"readonly": True},
"agent_resource_id": {"readonly": True},
"execution_start_time": {"readonly": True},
"execution_end_time": {"readonly": True},
"last_status_update": {"readonly": True},
"items_scanned": {"readonly": True},
"items_excluded": {"readonly": True},
"items_unsupported": {"readonly": True},
"items_no_transfer_needed": {"readonly": True},
"items_failed": {"readonly": True},
"items_transferred": {"readonly": True},
"bytes_scanned": {"readonly": True},
"bytes_excluded": {"readonly": True},
"bytes_unsupported": {"readonly": True},
"bytes_no_transfer_needed": {"readonly": True},
"bytes_failed": {"readonly": True},
"bytes_transferred": {"readonly": True},
"source_name": {"readonly": True},
"source_resource_id": {"readonly": True},
"source_properties": {"readonly": True},
"target_name": {"readonly": True},
"target_resource_id": {"readonly": True},
"target_properties": {"readonly": True},
"job_definition_properties": {"readonly": True},
"error": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"status": {"key": "properties.status", "type": "str"},
"scan_status": {"key": "properties.scanStatus", "type": "str"},
"agent_name": {"key": "properties.agentName", "type": "str"},
"agent_resource_id": {"key": "properties.agentResourceId", "type": "str"},
"execution_start_time": {"key": "properties.executionStartTime", "type": "iso-8601"},
"execution_end_time": {"key": "properties.executionEndTime", "type": "iso-8601"},
"last_status_update": {"key": "properties.lastStatusUpdate", "type": "iso-8601"},
"items_scanned": {"key": "properties.itemsScanned", "type": "int"},
"items_excluded": {"key": "properties.itemsExcluded", "type": "int"},
"items_unsupported": {"key": "properties.itemsUnsupported", "type": "int"},
"items_no_transfer_needed": {"key": "properties.itemsNoTransferNeeded", "type": "int"},
"items_failed": {"key": "properties.itemsFailed", "type": "int"},
"items_transferred": {"key": "properties.itemsTransferred", "type": "int"},
"bytes_scanned": {"key": "properties.bytesScanned", "type": "int"},
"bytes_excluded": {"key": "properties.bytesExcluded", "type": "int"},
"bytes_unsupported": {"key": "properties.bytesUnsupported", "type": "int"},
"bytes_no_transfer_needed": {"key": "properties.bytesNoTransferNeeded", "type": "int"},
"bytes_failed": {"key": "properties.bytesFailed", "type": "int"},
"bytes_transferred": {"key": "properties.bytesTransferred", "type": "int"},
"source_name": {"key": "properties.sourceName", "type": "str"},
"source_resource_id": {"key": "properties.sourceResourceId", "type": "str"},
"source_properties": {"key": "properties.sourceProperties", "type": "object"},
"target_name": {"key": "properties.targetName", "type": "str"},
"target_resource_id": {"key": "properties.targetResourceId", "type": "str"},
"target_properties": {"key": "properties.targetProperties", "type": "object"},
"job_definition_properties": {"key": "properties.jobDefinitionProperties", "type": "object"},
"error": {"key": "properties.error", "type": "JobRunError"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None: # pylint: disable=too-many-locals
""" """
super().__init__(**kwargs)
self.status = None
self.scan_status = None
self.agent_name = None
self.agent_resource_id = None
self.execution_start_time = None
self.execution_end_time = None
self.last_status_update = None
self.items_scanned = None
self.items_excluded = None
self.items_unsupported = None
self.items_no_transfer_needed = None
self.items_failed = None
self.items_transferred = None
self.bytes_scanned = None
self.bytes_excluded = None
self.bytes_unsupported = None
self.bytes_no_transfer_needed = None
self.bytes_failed = None
self.bytes_transferred = None
self.source_name = None
self.source_resource_id = None
self.source_properties = None
self.target_name = None
self.target_resource_id = None
self.target_properties = None
self.job_definition_properties = None
self.error = None
self.provisioning_state = None
[docs]class JobRunError(_serialization.Model):
"""Error type.
:ivar code: Error code of the given entry.
:vartype code: str
:ivar message: Error message of the given entry.
:vartype message: str
:ivar target: Target of the given error entry.
:vartype target: str
"""
_attribute_map = {
"code": {"key": "code", "type": "str"},
"message": {"key": "message", "type": "str"},
"target": {"key": "target", "type": "str"},
}
def __init__(
self, *, code: Optional[str] = None, message: Optional[str] = None, target: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword code: Error code of the given entry.
:paramtype code: str
:keyword message: Error message of the given entry.
:paramtype message: str
:keyword target: Target of the given error entry.
:paramtype target: str
"""
super().__init__(**kwargs)
self.code = code
self.message = message
self.target = target
[docs]class JobRunList(_serialization.Model):
"""List of Job Runs.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value:
:vartype value: list[~azure.mgmt.storagemover.models.JobRun]
:ivar next_link: Request URL that can be used to query next page of containers. Returned when
total number of requested containers exceed maximum page size.
:vartype next_link: str
"""
_validation = {
"value": {"readonly": True},
"next_link": {"readonly": True},
}
_attribute_map = {
"value": {"key": "value", "type": "[JobRun]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
[docs]class JobRunResourceId(_serialization.Model):
"""Response that identifies a Job Run.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar job_run_resource_id: Fully qualified resource id of the Job Run.
:vartype job_run_resource_id: str
"""
_validation = {
"job_run_resource_id": {"readonly": True},
}
_attribute_map = {
"job_run_resource_id": {"key": "jobRunResourceId", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.job_run_resource_id = None
[docs]class NfsMountEndpointProperties(EndpointBaseProperties):
"""The properties of NFS share endpoint.
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 server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
:ivar host: The host name or IP address of the server exporting the file system. Required.
:vartype host: str
:ivar nfs_version: The NFS protocol version. Known values are: "NFSauto", "NFSv3", and "NFSv4".
:vartype nfs_version: str or ~azure.mgmt.storagemover.models.NfsVersion
:ivar export: The directory being exported from the server. Required.
:vartype export: str
"""
_validation = {
"endpoint_type": {"required": True},
"provisioning_state": {"readonly": True},
"host": {"required": True},
"export": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
"provisioning_state": {"key": "provisioningState", "type": "str"},
"host": {"key": "host", "type": "str"},
"nfs_version": {"key": "nfsVersion", "type": "str"},
"export": {"key": "export", "type": "str"},
}
def __init__(
self,
*,
host: str,
export: str,
description: Optional[str] = None,
nfs_version: Optional[Union[str, "_models.NfsVersion"]] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
:keyword host: The host name or IP address of the server exporting the file system. Required.
:paramtype host: str
:keyword nfs_version: The NFS protocol version. Known values are: "NFSauto", "NFSv3", and
"NFSv4".
:paramtype nfs_version: str or ~azure.mgmt.storagemover.models.NfsVersion
:keyword export: The directory being exported from the server. Required.
:paramtype export: str
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "NfsMount"
self.host = host
self.nfs_version = nfs_version
self.export = export
[docs]class NfsMountEndpointUpdateProperties(EndpointBaseUpdateProperties):
"""NfsMountEndpointUpdateProperties.
All required parameters must be populated in order to send to server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
}
def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "NfsMount"
[docs]class Operation(_serialization.Model):
"""Details of a REST API operation, returned from the Resource Provider Operations API.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar name: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
"Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
:vartype name: str
:ivar is_data_action: Whether the operation applies to data-plane. This is "true" for
data-plane operations and "false" for ARM/control-plane operations.
:vartype is_data_action: bool
:ivar display: Localized display information for this particular operation.
:vartype display: ~azure.mgmt.storagemover.models.OperationDisplay
:ivar origin: The intended executor of the operation; as in Resource Based Access Control
(RBAC) and audit logs UX. Default value is "user,system". Known values are: "user", "system",
and "user,system".
:vartype origin: str or ~azure.mgmt.storagemover.models.Origin
:ivar action_type: Enum. Indicates the action type. "Internal" refers to actions that are for
internal only APIs. "Internal"
:vartype action_type: str or ~azure.mgmt.storagemover.models.ActionType
"""
_validation = {
"name": {"readonly": True},
"is_data_action": {"readonly": True},
"origin": {"readonly": True},
"action_type": {"readonly": True},
}
_attribute_map = {
"name": {"key": "name", "type": "str"},
"is_data_action": {"key": "isDataAction", "type": "bool"},
"display": {"key": "display", "type": "OperationDisplay"},
"origin": {"key": "origin", "type": "str"},
"action_type": {"key": "actionType", "type": "str"},
}
def __init__(self, *, display: Optional["_models.OperationDisplay"] = None, **kwargs: Any) -> None:
"""
:keyword display: Localized display information for this particular operation.
:paramtype display: ~azure.mgmt.storagemover.models.OperationDisplay
"""
super().__init__(**kwargs)
self.name = None
self.is_data_action = None
self.display = display
self.origin = None
self.action_type = None
[docs]class OperationDisplay(_serialization.Model):
"""Localized display information for this particular operation.
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, e.g. "Microsoft
Monitoring Insights" or "Microsoft Compute".
:vartype provider: str
:ivar resource: The localized friendly name of the resource type related to this operation.
E.g. "Virtual Machines" or "Job Schedule Collections".
:vartype resource: str
:ivar operation: The concise, localized friendly name for the operation; suitable for
dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine".
:vartype operation: str
:ivar description: The short, localized friendly description of the operation; suitable for
tool tips and detailed views.
:vartype description: str
"""
_validation = {
"provider": {"readonly": True},
"resource": {"readonly": True},
"operation": {"readonly": True},
"description": {"readonly": True},
}
_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, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.provider = None
self.resource = None
self.operation = None
self.description = None
[docs]class OperationListResult(_serialization.Model):
"""A list of REST API operations supported by an Azure Resource Provider. It contains an URL link
to get the next set of results.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of operations supported by the resource provider.
:vartype value: list[~azure.mgmt.storagemover.models.Operation]
:ivar next_link: URL to get the next set of operation list results (if there are any).
:vartype next_link: str
"""
_validation = {
"value": {"readonly": True},
"next_link": {"readonly": True},
}
_attribute_map = {
"value": {"key": "value", "type": "[Operation]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
[docs]class Project(ProxyResource):
"""The Project 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}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
:ivar description: A description for the Project.
:vartype description: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"description": {"key": "properties.description", "type": "str"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: A description for the Project.
:paramtype description: str
"""
super().__init__(**kwargs)
self.description = description
self.provisioning_state = None
[docs]class ProjectList(_serialization.Model):
"""List of Project resources.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value:
:vartype value: list[~azure.mgmt.storagemover.models.Project]
:ivar next_link: Request URL that can be used to query next page of containers. Returned when
total number of requested containers exceed maximum page size.
:vartype next_link: str
"""
_validation = {
"value": {"readonly": True},
"next_link": {"readonly": True},
}
_attribute_map = {
"value": {"key": "value", "type": "[Project]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
[docs]class ProjectUpdateParameters(_serialization.Model):
"""The Project resource.
:ivar description: A description for the Project.
:vartype description: str
"""
_attribute_map = {
"description": {"key": "properties.description", "type": "str"},
}
def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: A description for the Project.
:paramtype description: str
"""
super().__init__(**kwargs)
self.description = description
[docs]class Recurrence(_serialization.Model):
"""The schedule recurrence.
All required parameters must be populated in order to send to server.
:ivar start_time: The start time of the schedule recurrence. Full hour and 30-minute intervals
are supported. Required.
:vartype start_time: ~azure.mgmt.storagemover.models.Time
:ivar end_time: The end time of the schedule recurrence. Full hour and 30-minute intervals are
supported. Required.
:vartype end_time: ~azure.mgmt.storagemover.models.Time
"""
_validation = {
"start_time": {"required": True},
"end_time": {"required": True},
}
_attribute_map = {
"start_time": {"key": "startTime", "type": "Time"},
"end_time": {"key": "endTime", "type": "Time"},
}
def __init__(self, *, start_time: "_models.Time", end_time: "_models.Time", **kwargs: Any) -> None:
"""
:keyword start_time: The start time of the schedule recurrence. Full hour and 30-minute
intervals are supported. Required.
:paramtype start_time: ~azure.mgmt.storagemover.models.Time
:keyword end_time: The end time of the schedule recurrence. Full hour and 30-minute intervals
are supported. Required.
:paramtype end_time: ~azure.mgmt.storagemover.models.Time
"""
super().__init__(**kwargs)
self.start_time = start_time
self.end_time = end_time
[docs]class SmbMountEndpointProperties(EndpointBaseProperties):
"""The properties of SMB share endpoint.
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 server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
:ivar host: The host name or IP address of the server exporting the file system. Required.
:vartype host: str
:ivar share_name: The name of the SMB share being exported from the server. Required.
:vartype share_name: str
:ivar credentials: The Azure Key Vault secret URIs which store the required credentials to
access the SMB share.
:vartype credentials: ~azure.mgmt.storagemover.models.AzureKeyVaultSmbCredentials
"""
_validation = {
"endpoint_type": {"required": True},
"provisioning_state": {"readonly": True},
"host": {"required": True},
"share_name": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
"provisioning_state": {"key": "provisioningState", "type": "str"},
"host": {"key": "host", "type": "str"},
"share_name": {"key": "shareName", "type": "str"},
"credentials": {"key": "credentials", "type": "AzureKeyVaultSmbCredentials"},
}
def __init__(
self,
*,
host: str,
share_name: str,
description: Optional[str] = None,
credentials: Optional["_models.AzureKeyVaultSmbCredentials"] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
:keyword host: The host name or IP address of the server exporting the file system. Required.
:paramtype host: str
:keyword share_name: The name of the SMB share being exported from the server. Required.
:paramtype share_name: str
:keyword credentials: The Azure Key Vault secret URIs which store the required credentials to
access the SMB share.
:paramtype credentials: ~azure.mgmt.storagemover.models.AzureKeyVaultSmbCredentials
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "SmbMount"
self.host = host
self.share_name = share_name
self.credentials = credentials
[docs]class SmbMountEndpointUpdateProperties(EndpointBaseUpdateProperties):
"""The properties of SMB share endpoint to update.
All required parameters must be populated in order to send to server.
:ivar endpoint_type: The Endpoint resource type. Required. Known values are:
"AzureStorageBlobContainer", "NfsMount", "AzureStorageSmbFileShare", and "SmbMount".
:vartype endpoint_type: str or ~azure.mgmt.storagemover.models.EndpointType
:ivar description: A description for the Endpoint.
:vartype description: str
:ivar credentials: The Azure Key Vault secret URIs which store the required credentials to
access the SMB share.
:vartype credentials: ~azure.mgmt.storagemover.models.AzureKeyVaultSmbCredentials
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"description": {"key": "description", "type": "str"},
"credentials": {"key": "credentials", "type": "AzureKeyVaultSmbCredentials"},
}
def __init__(
self,
*,
description: Optional[str] = None,
credentials: Optional["_models.AzureKeyVaultSmbCredentials"] = None,
**kwargs: Any
) -> None:
"""
:keyword description: A description for the Endpoint.
:paramtype description: str
:keyword credentials: The Azure Key Vault secret URIs which store the required credentials to
access the SMB share.
:paramtype credentials: ~azure.mgmt.storagemover.models.AzureKeyVaultSmbCredentials
"""
super().__init__(description=description, **kwargs)
self.endpoint_type: str = "SmbMount"
self.credentials = credentials
[docs]class TrackedResource(Resource):
"""The resource model definition for an Azure Resource Manager tracked top level resource which
has 'tags' and a 'location'.
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 server.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
:ivar tags: Resource tags.
:vartype tags: dict[str, str]
:ivar location: The geo-location where the resource lives. Required.
:vartype location: str
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"location": {"required": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"tags": {"key": "tags", "type": "{str}"},
"location": {"key": "location", "type": "str"},
}
def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
:keyword location: The geo-location where the resource lives. Required.
:paramtype location: str
"""
super().__init__(**kwargs)
self.tags = tags
self.location = location
[docs]class StorageMover(TrackedResource):
"""The Storage Mover resource, which is a container for a group of Agents, Projects, and
Endpoints.
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 server.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.storagemover.models.SystemData
:ivar tags: Resource tags.
:vartype tags: dict[str, str]
:ivar location: The geo-location where the resource lives. Required.
:vartype location: str
:ivar description: A description for the Storage Mover.
:vartype description: str
:ivar provisioning_state: The provisioning state of this resource. Known values are:
"Succeeded", "Canceled", "Failed", and "Deleting".
:vartype provisioning_state: str or ~azure.mgmt.storagemover.models.ProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"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"},
"system_data": {"key": "systemData", "type": "SystemData"},
"tags": {"key": "tags", "type": "{str}"},
"location": {"key": "location", "type": "str"},
"description": {"key": "properties.description", "type": "str"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(
self, *, location: str, tags: Optional[Dict[str, str]] = None, description: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
:keyword location: The geo-location where the resource lives. Required.
:paramtype location: str
:keyword description: A description for the Storage Mover.
:paramtype description: str
"""
super().__init__(tags=tags, location=location, **kwargs)
self.description = description
self.provisioning_state = None
[docs]class StorageMoverList(_serialization.Model):
"""List of Storage Movers.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value:
:vartype value: list[~azure.mgmt.storagemover.models.StorageMover]
:ivar next_link: Request URL that can be used to query next page of containers. Returned when
total number of requested containers exceed maximum page size.
:vartype next_link: str
"""
_validation = {
"value": {"readonly": True},
"next_link": {"readonly": True},
}
_attribute_map = {
"value": {"key": "value", "type": "[StorageMover]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
[docs]class StorageMoverUpdateParameters(_serialization.Model):
"""The Storage Mover resource.
:ivar tags: Resource tags.
:vartype tags: dict[str, str]
:ivar description: A description for the Storage Mover.
:vartype description: str
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
"description": {"key": "properties.description", "type": "str"},
}
def __init__(
self, *, tags: Optional[Dict[str, str]] = None, description: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
:keyword description: A description for the Storage Mover.
:paramtype description: str
"""
super().__init__(**kwargs)
self.tags = tags
self.description = description
[docs]class SystemData(_serialization.Model):
"""Metadata pertaining to creation and last modification of the resource.
:ivar created_by: The identity that created the resource.
:vartype created_by: str
:ivar created_by_type: The type of identity that created the resource. Known values are:
"User", "Application", "ManagedIdentity", and "Key".
:vartype created_by_type: str or ~azure.mgmt.storagemover.models.CreatedByType
:ivar created_at: The timestamp of resource creation (UTC).
:vartype created_at: ~datetime.datetime
:ivar last_modified_by: The identity that last modified the resource.
:vartype last_modified_by: str
:ivar last_modified_by_type: The type of identity that last modified the resource. Known values
are: "User", "Application", "ManagedIdentity", and "Key".
:vartype last_modified_by_type: str or ~azure.mgmt.storagemover.models.CreatedByType
:ivar last_modified_at: The timestamp of resource last modification (UTC).
:vartype last_modified_at: ~datetime.datetime
"""
_attribute_map = {
"created_by": {"key": "createdBy", "type": "str"},
"created_by_type": {"key": "createdByType", "type": "str"},
"created_at": {"key": "createdAt", "type": "iso-8601"},
"last_modified_by": {"key": "lastModifiedBy", "type": "str"},
"last_modified_by_type": {"key": "lastModifiedByType", "type": "str"},
"last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"},
}
def __init__(
self,
*,
created_by: Optional[str] = None,
created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
created_at: Optional[datetime.datetime] = None,
last_modified_by: Optional[str] = None,
last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
last_modified_at: Optional[datetime.datetime] = None,
**kwargs: Any
) -> None:
"""
:keyword created_by: The identity that created the resource.
:paramtype created_by: str
:keyword created_by_type: The type of identity that created the resource. Known values are:
"User", "Application", "ManagedIdentity", and "Key".
:paramtype created_by_type: str or ~azure.mgmt.storagemover.models.CreatedByType
:keyword created_at: The timestamp of resource creation (UTC).
:paramtype created_at: ~datetime.datetime
:keyword last_modified_by: The identity that last modified the resource.
:paramtype last_modified_by: str
:keyword last_modified_by_type: The type of identity that last modified the resource. Known
values are: "User", "Application", "ManagedIdentity", and "Key".
:paramtype last_modified_by_type: str or ~azure.mgmt.storagemover.models.CreatedByType
:keyword last_modified_at: The timestamp of resource last modification (UTC).
:paramtype last_modified_at: ~datetime.datetime
"""
super().__init__(**kwargs)
self.created_by = created_by
self.created_by_type = created_by_type
self.created_at = created_at
self.last_modified_by = last_modified_by
self.last_modified_by_type = last_modified_by_type
self.last_modified_at = last_modified_at
[docs]class Time(_serialization.Model):
"""The time of day.
All required parameters must be populated in order to send to server.
:ivar hour: The hour element of the time. Allowed values range from 0 (start of the selected
day) to 24 (end of the selected day). Hour value 24 cannot be combined with any other minute
value but 0. Required.
:vartype hour: int
:ivar minute: The minute element of the time. Allowed values are 0 and 30. If not specified,
its value defaults to 0. Known values are: 0 and 30.
:vartype minute: int or ~azure.mgmt.storagemover.models.Minute
"""
_validation = {
"hour": {"required": True, "maximum": 24, "minimum": 0},
}
_attribute_map = {
"hour": {"key": "hour", "type": "int"},
"minute": {"key": "minute", "type": "int"},
}
def __init__(self, *, hour: int, minute: Union[int, "_models.Minute"] = 0, **kwargs: Any) -> None:
"""
:keyword hour: The hour element of the time. Allowed values range from 0 (start of the selected
day) to 24 (end of the selected day). Hour value 24 cannot be combined with any other minute
value but 0. Required.
:paramtype hour: int
:keyword minute: The minute element of the time. Allowed values are 0 and 30. If not specified,
its value defaults to 0. Known values are: 0 and 30.
:paramtype minute: int or ~azure.mgmt.storagemover.models.Minute
"""
super().__init__(**kwargs)
self.hour = hour
self.minute = minute
[docs]class UploadLimit(_serialization.Model):
"""The WAN-link upload limit.
All required parameters must be populated in order to send to server.
:ivar limit_in_mbps: The WAN-link upload bandwidth (maximum data transfer rate) in megabits per
second. Value of 0 indicates no throughput is allowed and any running migration job is
effectively paused for the duration of this recurrence. Only data plane operations are governed
by this limit. Control plane operations ensure seamless functionality. The agent may exceed
this limit with control messages, if necessary. Required.
:vartype limit_in_mbps: int
"""
_validation = {
"limit_in_mbps": {"required": True, "maximum": 2147483647, "minimum": 0},
}
_attribute_map = {
"limit_in_mbps": {"key": "limitInMbps", "type": "int"},
}
def __init__(self, *, limit_in_mbps: int, **kwargs: Any) -> None:
"""
:keyword limit_in_mbps: The WAN-link upload bandwidth (maximum data transfer rate) in megabits
per second. Value of 0 indicates no throughput is allowed and any running migration job is
effectively paused for the duration of this recurrence. Only data plane operations are governed
by this limit. Control plane operations ensure seamless functionality. The agent may exceed
this limit with control messages, if necessary. Required.
:paramtype limit_in_mbps: int
"""
super().__init__(**kwargs)
self.limit_in_mbps = limit_in_mbps
[docs]class UploadLimitSchedule(_serialization.Model):
"""The WAN-link upload limit schedule. Overlapping recurrences are not allowed.
:ivar weekly_recurrences: The set of weekly repeating recurrences of the WAN-link upload limit
schedule.
:vartype weekly_recurrences: list[~azure.mgmt.storagemover.models.UploadLimitWeeklyRecurrence]
"""
_attribute_map = {
"weekly_recurrences": {"key": "weeklyRecurrences", "type": "[UploadLimitWeeklyRecurrence]"},
}
def __init__(
self, *, weekly_recurrences: Optional[List["_models.UploadLimitWeeklyRecurrence"]] = None, **kwargs: Any
) -> None:
"""
:keyword weekly_recurrences: The set of weekly repeating recurrences of the WAN-link upload
limit schedule.
:paramtype weekly_recurrences:
list[~azure.mgmt.storagemover.models.UploadLimitWeeklyRecurrence]
"""
super().__init__(**kwargs)
self.weekly_recurrences = weekly_recurrences
[docs]class WeeklyRecurrence(Recurrence):
"""The weekly recurrence of the schedule.
All required parameters must be populated in order to send to server.
:ivar start_time: The start time of the schedule recurrence. Full hour and 30-minute intervals
are supported. Required.
:vartype start_time: ~azure.mgmt.storagemover.models.Time
:ivar end_time: The end time of the schedule recurrence. Full hour and 30-minute intervals are
supported. Required.
:vartype end_time: ~azure.mgmt.storagemover.models.Time
:ivar days: The set of days of week for the schedule recurrence. A day must not be specified
more than once in a recurrence. Required.
:vartype days: list[str or ~azure.mgmt.storagemover.models.DayOfWeek]
"""
_validation = {
"start_time": {"required": True},
"end_time": {"required": True},
"days": {"required": True},
}
_attribute_map = {
"start_time": {"key": "startTime", "type": "Time"},
"end_time": {"key": "endTime", "type": "Time"},
"days": {"key": "days", "type": "[str]"},
}
def __init__(
self,
*,
start_time: "_models.Time",
end_time: "_models.Time",
days: List[Union[str, "_models.DayOfWeek"]],
**kwargs: Any
) -> None:
"""
:keyword start_time: The start time of the schedule recurrence. Full hour and 30-minute
intervals are supported. Required.
:paramtype start_time: ~azure.mgmt.storagemover.models.Time
:keyword end_time: The end time of the schedule recurrence. Full hour and 30-minute intervals
are supported. Required.
:paramtype end_time: ~azure.mgmt.storagemover.models.Time
:keyword days: The set of days of week for the schedule recurrence. A day must not be specified
more than once in a recurrence. Required.
:paramtype days: list[str or ~azure.mgmt.storagemover.models.DayOfWeek]
"""
super().__init__(start_time=start_time, end_time=end_time, **kwargs)
self.days = days
[docs]class UploadLimitWeeklyRecurrence(WeeklyRecurrence, UploadLimit):
"""The weekly recurrence of the WAN-link upload limit schedule. The start time must be earlier in
the day than the end time. The recurrence must not span across multiple days.
All required parameters must be populated in order to send to server.
:ivar limit_in_mbps: The WAN-link upload bandwidth (maximum data transfer rate) in megabits per
second. Value of 0 indicates no throughput is allowed and any running migration job is
effectively paused for the duration of this recurrence. Only data plane operations are governed
by this limit. Control plane operations ensure seamless functionality. The agent may exceed
this limit with control messages, if necessary. Required.
:vartype limit_in_mbps: int
:ivar start_time: The start time of the schedule recurrence. Full hour and 30-minute intervals
are supported. Required.
:vartype start_time: ~azure.mgmt.storagemover.models.Time
:ivar end_time: The end time of the schedule recurrence. Full hour and 30-minute intervals are
supported. Required.
:vartype end_time: ~azure.mgmt.storagemover.models.Time
:ivar days: The set of days of week for the schedule recurrence. A day must not be specified
more than once in a recurrence. Required.
:vartype days: list[str or ~azure.mgmt.storagemover.models.DayOfWeek]
"""
_validation = {
"limit_in_mbps": {"required": True, "maximum": 2147483647, "minimum": 0},
"start_time": {"required": True},
"end_time": {"required": True},
"days": {"required": True},
}
_attribute_map = {
"limit_in_mbps": {"key": "limitInMbps", "type": "int"},
"start_time": {"key": "startTime", "type": "Time"},
"end_time": {"key": "endTime", "type": "Time"},
"days": {"key": "days", "type": "[str]"},
}
def __init__(
self,
*,
limit_in_mbps: int,
start_time: "_models.Time",
end_time: "_models.Time",
days: List[Union[str, "_models.DayOfWeek"]],
**kwargs: Any
) -> None:
"""
:keyword limit_in_mbps: The WAN-link upload bandwidth (maximum data transfer rate) in megabits
per second. Value of 0 indicates no throughput is allowed and any running migration job is
effectively paused for the duration of this recurrence. Only data plane operations are governed
by this limit. Control plane operations ensure seamless functionality. The agent may exceed
this limit with control messages, if necessary. Required.
:paramtype limit_in_mbps: int
:keyword start_time: The start time of the schedule recurrence. Full hour and 30-minute
intervals are supported. Required.
:paramtype start_time: ~azure.mgmt.storagemover.models.Time
:keyword end_time: The end time of the schedule recurrence. Full hour and 30-minute intervals
are supported. Required.
:paramtype end_time: ~azure.mgmt.storagemover.models.Time
:keyword days: The set of days of week for the schedule recurrence. A day must not be specified
more than once in a recurrence. Required.
:paramtype days: list[str or ~azure.mgmt.storagemover.models.DayOfWeek]
"""
super().__init__(start_time=start_time, end_time=end_time, days=days, limit_in_mbps=limit_in_mbps, **kwargs)
self.limit_in_mbps = limit_in_mbps
self.start_time = start_time
self.end_time = end_time
self.days = days