# 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 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)
[docs]class AttachedDatabaseConfiguration(ProxyResource):
"""Class representing an attached database configuration.
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 location: Resource location.
:type location: str
:ivar provisioning_state: The provisioned state of the resource. Possible
values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed',
'Moving'
:vartype provisioning_state: str or
~azure.mgmt.kusto.models.ProvisioningState
:param database_name: Required. The name of the database which you would
like to attach, use * if you want to follow all current and future
databases.
:type database_name: str
:param cluster_resource_id: Required. The resource id of the cluster where
the databases you would like to attach reside.
:type cluster_resource_id: str
:ivar attached_database_names: The list of databases from the
clusterResourceId which are currently attached to the cluster.
:vartype attached_database_names: list[str]
:param default_principals_modification_kind: Required. The default
principals modification kind. Possible values include: 'Union', 'Replace',
'None'
:type default_principals_modification_kind: str or
~azure.mgmt.kusto.models.DefaultPrincipalsModificationKind
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'provisioning_state': {'readonly': True},
'database_name': {'required': True},
'cluster_resource_id': {'required': True},
'attached_database_names': {'readonly': True},
'default_principals_modification_kind': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'database_name': {'key': 'properties.databaseName', 'type': 'str'},
'cluster_resource_id': {'key': 'properties.clusterResourceId', 'type': 'str'},
'attached_database_names': {'key': 'properties.attachedDatabaseNames', 'type': '[str]'},
'default_principals_modification_kind': {'key': 'properties.defaultPrincipalsModificationKind', 'type': 'str'},
}
def __init__(self, *, database_name: str, cluster_resource_id: str, default_principals_modification_kind, location: str=None, **kwargs) -> None:
super(AttachedDatabaseConfiguration, self).__init__(**kwargs)
self.location = location
self.provisioning_state = None
self.database_name = database_name
self.cluster_resource_id = cluster_resource_id
self.attached_database_names = None
self.default_principals_modification_kind = default_principals_modification_kind
[docs]class AzureCapacity(Model):
"""Azure capacity definition.
All required parameters must be populated in order to send to Azure.
:param scale_type: Required. Scale type. Possible values include:
'automatic', 'manual', 'none'
:type scale_type: str or ~azure.mgmt.kusto.models.AzureScaleType
:param minimum: Required. Minimum allowed capacity.
:type minimum: int
:param maximum: Required. Maximum allowed capacity.
:type maximum: int
:param default: Required. The default capacity that would be used.
:type default: int
"""
_validation = {
'scale_type': {'required': True},
'minimum': {'required': True},
'maximum': {'required': True},
'default': {'required': True},
}
_attribute_map = {
'scale_type': {'key': 'scaleType', 'type': 'str'},
'minimum': {'key': 'minimum', 'type': 'int'},
'maximum': {'key': 'maximum', 'type': 'int'},
'default': {'key': 'default', 'type': 'int'},
}
def __init__(self, *, scale_type, minimum: int, maximum: int, default: int, **kwargs) -> None:
super(AzureCapacity, self).__init__(**kwargs)
self.scale_type = scale_type
self.minimum = minimum
self.maximum = maximum
self.default = default
[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
[docs]class AzureResourceSku(Model):
"""Azure resource SKU definition.
:param resource_type: Resource Namespace and Type.
:type resource_type: str
:param sku: The SKU details.
:type sku: ~azure.mgmt.kusto.models.AzureSku
:param capacity: The number of instances of the cluster.
:type capacity: ~azure.mgmt.kusto.models.AzureCapacity
"""
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'sku': {'key': 'sku', 'type': 'AzureSku'},
'capacity': {'key': 'capacity', 'type': 'AzureCapacity'},
}
def __init__(self, *, resource_type: str=None, sku=None, capacity=None, **kwargs) -> None:
super(AzureResourceSku, self).__init__(**kwargs)
self.resource_type = resource_type
self.sku = sku
self.capacity = capacity
[docs]class AzureSku(Model):
"""Azure SKU definition.
All required parameters must be populated in order to send to Azure.
:param name: Required. SKU name. Possible values include:
'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS',
'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2',
'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_D11_v2',
'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2',
'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4',
'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS',
'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No
SLA)_Standard_E2a_v4'
:type name: str or ~azure.mgmt.kusto.models.AzureSkuName
:param capacity: The number of instances of the cluster.
:type capacity: int
:param tier: Required. SKU tier. Possible values include: 'Basic',
'Standard'
:type tier: str or ~azure.mgmt.kusto.models.AzureSkuTier
"""
_validation = {
'name': {'required': True},
'tier': {'required': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'capacity': {'key': 'capacity', 'type': 'int'},
'tier': {'key': 'tier', 'type': 'str'},
}
def __init__(self, *, name, tier, capacity: int=None, **kwargs) -> None:
super(AzureSku, self).__init__(**kwargs)
self.name = name
self.capacity = capacity
self.tier = tier
[docs]class CheckNameRequest(Model):
"""The result returned from a database check name availability request.
All required parameters must be populated in order to send to Azure.
:param name: Required. Resource name.
:type name: str
:param type: Required. The type of resource, for instance
Microsoft.Kusto/clusters/databases. Possible values include:
'Microsoft.Kusto/clusters/databases',
'Microsoft.Kusto/clusters/attachedDatabaseConfigurations'
:type type: str or ~azure.mgmt.kusto.models.Type
"""
_validation = {
'name': {'required': True},
'type': {'required': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'Type'},
}
def __init__(self, *, name: str, type, **kwargs) -> None:
super(CheckNameRequest, self).__init__(**kwargs)
self.name = name
self.type = type
[docs]class CheckNameResult(Model):
"""The result returned from a check name availability request.
:param name_available: Specifies a Boolean value that indicates if the
name is available.
:type name_available: bool
:param name: The name that was checked.
:type name: str
:param message: Message indicating an unavailable name due to a conflict,
or a description of the naming rules that are violated.
:type message: str
:param reason: Message providing the reason why the given name is invalid.
Possible values include: 'Invalid', 'AlreadyExists'
:type reason: str or ~azure.mgmt.kusto.models.Reason
"""
_attribute_map = {
'name_available': {'key': 'nameAvailable', 'type': 'bool'},
'name': {'key': 'name', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'reason': {'key': 'reason', 'type': 'str'},
}
def __init__(self, *, name_available: bool=None, name: str=None, message: str=None, reason=None, **kwargs) -> None:
super(CheckNameResult, self).__init__(**kwargs)
self.name_available = name_available
self.name = name
self.message = message
self.reason = reason
class CloudError(Model):
"""An error response from Kusto.
:param error: An error response from Kusto.
:type error: ~azure.mgmt.kusto.models.CloudErrorBody
"""
_attribute_map = {
'error': {'key': 'error', 'type': 'CloudErrorBody'},
}
def __init__(self, *, error=None, **kwargs) -> None:
super(CloudError, self).__init__(**kwargs)
self.error = error
class CloudErrorException(HttpOperationError):
"""Server responsed with exception of type: 'CloudError'.
:param deserialize: A deserializer
:param response: Server response to be deserialized.
"""
def __init__(self, deserialize, response, *args):
super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args)
class CloudErrorBody(Model):
"""An error response from Kusto.
:param code: An identifier for the error. Codes are invariant and are
intended to be consumed programmatically.
:type code: str
:param message: A message describing the error, intended to be suitable
for displaying in a user interface.
:type message: str
:param target: The target of the particular error. For example, the name
of the property in error.
:type target: str
:param details: A list of additional details about the error.
:type details: list[~azure.mgmt.kusto.models.CloudErrorBody]
"""
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'target': {'key': 'target', 'type': 'str'},
'details': {'key': 'details', 'type': '[CloudErrorBody]'},
}
def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None:
super(CloudErrorBody, self).__init__(**kwargs)
self.code = code
self.message = message
self.target = target
self.details = details
[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 Cluster(TrackedResource):
"""Class representing a Kusto cluster.
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 sku: Required. The SKU of the cluster.
:type sku: ~azure.mgmt.kusto.models.AzureSku
:param zones: The availability zones of the cluster.
:type zones: list[str]
:param identity: The identity of the cluster, if configured.
:type identity: ~azure.mgmt.kusto.models.Identity
:ivar state: The state of the resource. Possible values include:
'Creating', 'Unavailable', 'Running', 'Deleting', 'Deleted', 'Stopping',
'Stopped', 'Starting', 'Updating'
:vartype state: str or ~azure.mgmt.kusto.models.State
:ivar provisioning_state: The provisioned state of the resource. Possible
values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed',
'Moving'
:vartype provisioning_state: str or
~azure.mgmt.kusto.models.ProvisioningState
:ivar uri: The cluster URI.
:vartype uri: str
:ivar data_ingestion_uri: The cluster data ingestion URI.
:vartype data_ingestion_uri: str
:ivar state_reason: The reason for the cluster's current state.
:vartype state_reason: str
:param trusted_external_tenants: The cluster's external tenants.
:type trusted_external_tenants:
list[~azure.mgmt.kusto.models.TrustedExternalTenant]
:param optimized_autoscale: Optimized auto scale definition.
:type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale
:param enable_disk_encryption: A boolean value that indicates if the
cluster's disks are encrypted.
:type enable_disk_encryption: bool
:param enable_streaming_ingest: A boolean value that indicates if the
streaming ingest is enabled. Default value: False .
:type enable_streaming_ingest: bool
:param virtual_network_configuration: Virtual network definition.
:type virtual_network_configuration:
~azure.mgmt.kusto.models.VirtualNetworkConfiguration
:param key_vault_properties: KeyVault properties for the cluster
encryption.
:type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties
:param enable_purge: A boolean value that indicates if the purge
operations are enabled. Default value: False .
:type enable_purge: bool
:ivar language_extensions: List of the cluster's language extensions.
:vartype language_extensions:
~azure.mgmt.kusto.models.LanguageExtensionsList
:param enable_double_encryption: A boolean value that indicates if double
encryption is enabled. Default value: False .
:type enable_double_encryption: bool
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
'sku': {'required': True},
'state': {'readonly': True},
'provisioning_state': {'readonly': True},
'uri': {'readonly': True},
'data_ingestion_uri': {'readonly': True},
'state_reason': {'readonly': True},
'language_extensions': {'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'},
'sku': {'key': 'sku', 'type': 'AzureSku'},
'zones': {'key': 'zones', 'type': '[str]'},
'identity': {'key': 'identity', 'type': 'Identity'},
'state': {'key': 'properties.state', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'uri': {'key': 'properties.uri', 'type': 'str'},
'data_ingestion_uri': {'key': 'properties.dataIngestionUri', 'type': 'str'},
'state_reason': {'key': 'properties.stateReason', 'type': 'str'},
'trusted_external_tenants': {'key': 'properties.trustedExternalTenants', 'type': '[TrustedExternalTenant]'},
'optimized_autoscale': {'key': 'properties.optimizedAutoscale', 'type': 'OptimizedAutoscale'},
'enable_disk_encryption': {'key': 'properties.enableDiskEncryption', 'type': 'bool'},
'enable_streaming_ingest': {'key': 'properties.enableStreamingIngest', 'type': 'bool'},
'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'},
'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'KeyVaultProperties'},
'enable_purge': {'key': 'properties.enablePurge', 'type': 'bool'},
'language_extensions': {'key': 'properties.languageExtensions', 'type': 'LanguageExtensionsList'},
'enable_double_encryption': {'key': 'properties.enableDoubleEncryption', 'type': 'bool'},
}
def __init__(self, *, location: str, sku, tags=None, zones=None, identity=None, trusted_external_tenants=None, optimized_autoscale=None, enable_disk_encryption: bool=None, enable_streaming_ingest: bool=False, virtual_network_configuration=None, key_vault_properties=None, enable_purge: bool=False, enable_double_encryption: bool=False, **kwargs) -> None:
super(Cluster, self).__init__(tags=tags, location=location, **kwargs)
self.sku = sku
self.zones = zones
self.identity = identity
self.state = None
self.provisioning_state = None
self.uri = None
self.data_ingestion_uri = None
self.state_reason = None
self.trusted_external_tenants = trusted_external_tenants
self.optimized_autoscale = optimized_autoscale
self.enable_disk_encryption = enable_disk_encryption
self.enable_streaming_ingest = enable_streaming_ingest
self.virtual_network_configuration = virtual_network_configuration
self.key_vault_properties = key_vault_properties
self.enable_purge = enable_purge
self.language_extensions = None
self.enable_double_encryption = enable_double_encryption
[docs]class ClusterCheckNameRequest(Model):
"""The result returned from a cluster check name availability request.
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.
:param name: Required. Cluster name.
:type name: str
:ivar type: Required. The type of resource, Microsoft.Kusto/clusters.
Default value: "Microsoft.Kusto/clusters" .
:vartype type: str
"""
_validation = {
'name': {'required': True},
'type': {'required': True, 'constant': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
type = "Microsoft.Kusto/clusters"
def __init__(self, *, name: str, **kwargs) -> None:
super(ClusterCheckNameRequest, self).__init__(**kwargs)
self.name = name
[docs]class ClusterPrincipalAssignment(ProxyResource):
"""Class representing a cluster principal assignment.
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 principal_id: Required. The principal ID assigned to the cluster
principal. It can be a user email, application ID, or security group name.
:type principal_id: str
:param role: Required. Cluster principal role. Possible values include:
'AllDatabasesAdmin', 'AllDatabasesViewer'
:type role: str or ~azure.mgmt.kusto.models.ClusterPrincipalRole
:param tenant_id: The tenant id of the principal
:type tenant_id: str
:param principal_type: Required. Principal type. Possible values include:
'App', 'Group', 'User'
:type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType
:ivar tenant_name: The tenant name of the principal
:vartype tenant_name: str
:ivar principal_name: The principal name
:vartype principal_name: str
:ivar provisioning_state: The provisioned state of the resource. Possible
values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed',
'Moving'
:vartype provisioning_state: str or
~azure.mgmt.kusto.models.ProvisioningState
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'principal_id': {'required': True},
'role': {'required': True},
'principal_type': {'required': True},
'tenant_name': {'readonly': True},
'principal_name': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'principal_id': {'key': 'properties.principalId', 'type': 'str'},
'role': {'key': 'properties.role', 'type': 'str'},
'tenant_id': {'key': 'properties.tenantId', 'type': 'str'},
'principal_type': {'key': 'properties.principalType', 'type': 'str'},
'tenant_name': {'key': 'properties.tenantName', 'type': 'str'},
'principal_name': {'key': 'properties.principalName', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
}
def __init__(self, *, principal_id: str, role, principal_type, tenant_id: str=None, **kwargs) -> None:
super(ClusterPrincipalAssignment, self).__init__(**kwargs)
self.principal_id = principal_id
self.role = role
self.tenant_id = tenant_id
self.principal_type = principal_type
self.tenant_name = None
self.principal_name = None
self.provisioning_state = None
[docs]class ClusterPrincipalAssignmentCheckNameRequest(Model):
"""A principal assignment check name availability request.
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.
:param name: Required. Principal Assignment resource name.
:type name: str
:ivar type: Required. The type of resource,
Microsoft.Kusto/clusters/principalAssignments. Default value:
"Microsoft.Kusto/clusters/principalAssignments" .
:vartype type: str
"""
_validation = {
'name': {'required': True},
'type': {'required': True, 'constant': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
type = "Microsoft.Kusto/clusters/principalAssignments"
def __init__(self, *, name: str, **kwargs) -> None:
super(ClusterPrincipalAssignmentCheckNameRequest, self).__init__(**kwargs)
self.name = name
[docs]class ClusterUpdate(Resource):
"""Class representing an update to a Kusto cluster.
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
:param tags: Resource tags.
:type tags: dict[str, str]
:param location: Resource location.
:type location: str
:param sku: The SKU of the cluster.
:type sku: ~azure.mgmt.kusto.models.AzureSku
:param identity: The identity of the cluster, if configured.
:type identity: ~azure.mgmt.kusto.models.Identity
:ivar state: The state of the resource. Possible values include:
'Creating', 'Unavailable', 'Running', 'Deleting', 'Deleted', 'Stopping',
'Stopped', 'Starting', 'Updating'
:vartype state: str or ~azure.mgmt.kusto.models.State
:ivar provisioning_state: The provisioned state of the resource. Possible
values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed',
'Moving'
:vartype provisioning_state: str or
~azure.mgmt.kusto.models.ProvisioningState
:ivar uri: The cluster URI.
:vartype uri: str
:ivar data_ingestion_uri: The cluster data ingestion URI.
:vartype data_ingestion_uri: str
:ivar state_reason: The reason for the cluster's current state.
:vartype state_reason: str
:param trusted_external_tenants: The cluster's external tenants.
:type trusted_external_tenants:
list[~azure.mgmt.kusto.models.TrustedExternalTenant]
:param optimized_autoscale: Optimized auto scale definition.
:type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale
:param enable_disk_encryption: A boolean value that indicates if the
cluster's disks are encrypted.
:type enable_disk_encryption: bool
:param enable_streaming_ingest: A boolean value that indicates if the
streaming ingest is enabled. Default value: False .
:type enable_streaming_ingest: bool
:param virtual_network_configuration: Virtual network definition.
:type virtual_network_configuration:
~azure.mgmt.kusto.models.VirtualNetworkConfiguration
:param key_vault_properties: KeyVault properties for the cluster
encryption.
:type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties
:param enable_purge: A boolean value that indicates if the purge
operations are enabled. Default value: False .
:type enable_purge: bool
:ivar language_extensions: List of the cluster's language extensions.
:vartype language_extensions:
~azure.mgmt.kusto.models.LanguageExtensionsList
:param enable_double_encryption: A boolean value that indicates if double
encryption is enabled. Default value: False .
:type enable_double_encryption: bool
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'state': {'readonly': True},
'provisioning_state': {'readonly': True},
'uri': {'readonly': True},
'data_ingestion_uri': {'readonly': True},
'state_reason': {'readonly': True},
'language_extensions': {'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'},
'sku': {'key': 'sku', 'type': 'AzureSku'},
'identity': {'key': 'identity', 'type': 'Identity'},
'state': {'key': 'properties.state', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'uri': {'key': 'properties.uri', 'type': 'str'},
'data_ingestion_uri': {'key': 'properties.dataIngestionUri', 'type': 'str'},
'state_reason': {'key': 'properties.stateReason', 'type': 'str'},
'trusted_external_tenants': {'key': 'properties.trustedExternalTenants', 'type': '[TrustedExternalTenant]'},
'optimized_autoscale': {'key': 'properties.optimizedAutoscale', 'type': 'OptimizedAutoscale'},
'enable_disk_encryption': {'key': 'properties.enableDiskEncryption', 'type': 'bool'},
'enable_streaming_ingest': {'key': 'properties.enableStreamingIngest', 'type': 'bool'},
'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'},
'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'KeyVaultProperties'},
'enable_purge': {'key': 'properties.enablePurge', 'type': 'bool'},
'language_extensions': {'key': 'properties.languageExtensions', 'type': 'LanguageExtensionsList'},
'enable_double_encryption': {'key': 'properties.enableDoubleEncryption', 'type': 'bool'},
}
def __init__(self, *, tags=None, location: str=None, sku=None, identity=None, trusted_external_tenants=None, optimized_autoscale=None, enable_disk_encryption: bool=None, enable_streaming_ingest: bool=False, virtual_network_configuration=None, key_vault_properties=None, enable_purge: bool=False, enable_double_encryption: bool=False, **kwargs) -> None:
super(ClusterUpdate, self).__init__(**kwargs)
self.tags = tags
self.location = location
self.sku = sku
self.identity = identity
self.state = None
self.provisioning_state = None
self.uri = None
self.data_ingestion_uri = None
self.state_reason = None
self.trusted_external_tenants = trusted_external_tenants
self.optimized_autoscale = optimized_autoscale
self.enable_disk_encryption = enable_disk_encryption
self.enable_streaming_ingest = enable_streaming_ingest
self.virtual_network_configuration = virtual_network_configuration
self.key_vault_properties = key_vault_properties
self.enable_purge = enable_purge
self.language_extensions = None
self.enable_double_encryption = enable_double_encryption
[docs]class Database(ProxyResource):
"""Class representing a Kusto database.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: ReadWriteDatabase, ReadOnlyFollowingDatabase
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 location: Resource location.
:type location: str
:param kind: Required. Constant filled by server.
:type kind: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'kind': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
}
_subtype_map = {
'kind': {'ReadWrite': 'ReadWriteDatabase', 'ReadOnlyFollowing': 'ReadOnlyFollowingDatabase'}
}
def __init__(self, *, location: str=None, **kwargs) -> None:
super(Database, self).__init__(**kwargs)
self.location = location
self.kind = None
self.kind = 'Database'
[docs]class DatabasePrincipal(Model):
"""A class representing database principal entity.
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.
:param role: Required. Database principal role. Possible values include:
'Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers', 'Viewer'
:type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole
:param name: Required. Database principal name.
:type name: str
:param type: Required. Database principal type. Possible values include:
'App', 'Group', 'User'
:type type: str or ~azure.mgmt.kusto.models.DatabasePrincipalType
:param fqn: Database principal fully qualified name.
:type fqn: str
:param email: Database principal email if exists.
:type email: str
:param app_id: Application id - relevant only for application principal
type.
:type app_id: str
:ivar tenant_name: The tenant name of the principal
:vartype tenant_name: str
"""
_validation = {
'role': {'required': True},
'name': {'required': True},
'type': {'required': True},
'tenant_name': {'readonly': True},
}
_attribute_map = {
'role': {'key': 'role', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'fqn': {'key': 'fqn', 'type': 'str'},
'email': {'key': 'email', 'type': 'str'},
'app_id': {'key': 'appId', 'type': 'str'},
'tenant_name': {'key': 'tenantName', 'type': 'str'},
}
def __init__(self, *, role, name: str, type, fqn: str=None, email: str=None, app_id: str=None, **kwargs) -> None:
super(DatabasePrincipal, self).__init__(**kwargs)
self.role = role
self.name = name
self.type = type
self.fqn = fqn
self.email = email
self.app_id = app_id
self.tenant_name = None
[docs]class DatabasePrincipalAssignment(ProxyResource):
"""Class representing a database principal assignment.
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 principal_id: Required. The principal ID assigned to the database
principal. It can be a user email, application ID, or security group name.
:type principal_id: str
:param role: Required. Database principal role. Possible values include:
'Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers', 'Viewer'
:type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole
:param tenant_id: The tenant id of the principal
:type tenant_id: str
:param principal_type: Required. Principal type. Possible values include:
'App', 'Group', 'User'
:type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType
:ivar tenant_name: The tenant name of the principal
:vartype tenant_name: str
:ivar principal_name: The principal name
:vartype principal_name: str
:ivar provisioning_state: The provisioned state of the resource. Possible
values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed',
'Moving'
:vartype provisioning_state: str or
~azure.mgmt.kusto.models.ProvisioningState
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'principal_id': {'required': True},
'role': {'required': True},
'principal_type': {'required': True},
'tenant_name': {'readonly': True},
'principal_name': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'principal_id': {'key': 'properties.principalId', 'type': 'str'},
'role': {'key': 'properties.role', 'type': 'str'},
'tenant_id': {'key': 'properties.tenantId', 'type': 'str'},
'principal_type': {'key': 'properties.principalType', 'type': 'str'},
'tenant_name': {'key': 'properties.tenantName', 'type': 'str'},
'principal_name': {'key': 'properties.principalName', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
}
def __init__(self, *, principal_id: str, role, principal_type, tenant_id: str=None, **kwargs) -> None:
super(DatabasePrincipalAssignment, self).__init__(**kwargs)
self.principal_id = principal_id
self.role = role
self.tenant_id = tenant_id
self.principal_type = principal_type
self.tenant_name = None
self.principal_name = None
self.provisioning_state = None
[docs]class DatabasePrincipalAssignmentCheckNameRequest(Model):
"""A principal assignment check name availability request.
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.
:param name: Required. Principal Assignment resource name.
:type name: str
:ivar type: Required. The type of resource,
Microsoft.Kusto/clusters/databases/principalAssignments. Default value:
"Microsoft.Kusto/clusters/databases/principalAssignments" .
:vartype type: str
"""
_validation = {
'name': {'required': True},
'type': {'required': True, 'constant': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
type = "Microsoft.Kusto/clusters/databases/principalAssignments"
def __init__(self, *, name: str, **kwargs) -> None:
super(DatabasePrincipalAssignmentCheckNameRequest, self).__init__(**kwargs)
self.name = name
[docs]class DatabasePrincipalListRequest(Model):
"""The list Kusto database principals operation request.
:param value: The list of Kusto database principals.
:type value: list[~azure.mgmt.kusto.models.DatabasePrincipal]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[DatabasePrincipal]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(DatabasePrincipalListRequest, self).__init__(**kwargs)
self.value = value
[docs]class DatabasePrincipalListResult(Model):
"""The list Kusto database principals operation response.
:param value: The list of Kusto database principals.
:type value: list[~azure.mgmt.kusto.models.DatabasePrincipal]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[DatabasePrincipal]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(DatabasePrincipalListResult, self).__init__(**kwargs)
self.value = value
[docs]class DatabaseStatistics(Model):
"""A class that contains database statistics information.
:param size: The database size - the total size of compressed data and
index in bytes.
:type size: float
"""
_attribute_map = {
'size': {'key': 'size', 'type': 'float'},
}
def __init__(self, *, size: float=None, **kwargs) -> None:
super(DatabaseStatistics, self).__init__(**kwargs)
self.size = size
[docs]class DataConnection(ProxyResource):
"""Class representing an data connection.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: EventHubDataConnection, IotHubDataConnection,
EventGridDataConnection
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 location: Resource location.
:type location: str
:param kind: Required. Constant filled by server.
:type kind: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'kind': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
}
_subtype_map = {
'kind': {'EventHub': 'EventHubDataConnection', 'IotHub': 'IotHubDataConnection', 'EventGrid': 'EventGridDataConnection'}
}
def __init__(self, *, location: str=None, **kwargs) -> None:
super(DataConnection, self).__init__(**kwargs)
self.location = location
self.kind = None
self.kind = 'DataConnection'
[docs]class DataConnectionCheckNameRequest(Model):
"""A data connection check name availability request.
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.
:param name: Required. Data Connection name.
:type name: str
:ivar type: Required. The type of resource,
Microsoft.Kusto/clusters/databases/dataConnections. Default value:
"Microsoft.Kusto/clusters/databases/dataConnections" .
:vartype type: str
"""
_validation = {
'name': {'required': True},
'type': {'required': True, 'constant': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
type = "Microsoft.Kusto/clusters/databases/dataConnections"
def __init__(self, *, name: str, **kwargs) -> None:
super(DataConnectionCheckNameRequest, self).__init__(**kwargs)
self.name = name
[docs]class DataConnectionValidation(Model):
"""Class representing an data connection validation.
:param data_connection_name: The name of the data connection.
:type data_connection_name: str
:param properties: The data connection properties to validate.
:type properties: ~azure.mgmt.kusto.models.DataConnection
"""
_attribute_map = {
'data_connection_name': {'key': 'dataConnectionName', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'DataConnection'},
}
def __init__(self, *, data_connection_name: str=None, properties=None, **kwargs) -> None:
super(DataConnectionValidation, self).__init__(**kwargs)
self.data_connection_name = data_connection_name
self.properties = properties
[docs]class DataConnectionValidationListResult(Model):
"""The list Kusto data connection validation result.
:param value: The list of Kusto data connection validation errors.
:type value: list[~azure.mgmt.kusto.models.DataConnectionValidationResult]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[DataConnectionValidationResult]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(DataConnectionValidationListResult, self).__init__(**kwargs)
self.value = value
[docs]class DataConnectionValidationResult(Model):
"""The result returned from a data connection validation request.
:param error_message: A message which indicates a problem in data
connection validation.
:type error_message: str
"""
_attribute_map = {
'error_message': {'key': 'errorMessage', 'type': 'str'},
}
def __init__(self, *, error_message: str=None, **kwargs) -> None:
super(DataConnectionValidationResult, self).__init__(**kwargs)
self.error_message = error_message
[docs]class DiagnoseVirtualNetworkResult(Model):
"""DiagnoseVirtualNetworkResult.
:param findings: The list of network connectivity diagnostic finding
:type findings: list[str]
"""
_attribute_map = {
'findings': {'key': 'findings', 'type': '[str]'},
}
def __init__(self, *, findings=None, **kwargs) -> None:
super(DiagnoseVirtualNetworkResult, self).__init__(**kwargs)
self.findings = findings
[docs]class EventGridDataConnection(DataConnection):
"""Class representing an Event Grid data connection.
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 location: Resource location.
:type location: str
:param kind: Required. Constant filled by server.
:type kind: str
:param storage_account_resource_id: Required. The resource ID of the
storage account where the data resides.
:type storage_account_resource_id: str
:param event_hub_resource_id: Required. The resource ID where the event
grid is configured to send events.
:type event_hub_resource_id: str
:param consumer_group: Required. The event hub consumer group.
:type consumer_group: str
:param table_name: The table where the data should be ingested. Optionally
the table information can be added to each message.
:type table_name: str
:param mapping_rule_name: The mapping rule to be used to ingest the data.
Optionally the mapping information can be added to each message.
:type mapping_rule_name: str
:param data_format: The data format of the message. Optionally the data
format can be added to each message. Possible values include: 'MULTIJSON',
'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON',
'AVRO', 'TSVE', 'PARQUET', 'ORC', 'APACHEAVRO', 'W3CLOGFILE'
:type data_format: str or ~azure.mgmt.kusto.models.EventGridDataFormat
:param ignore_first_record: A Boolean value that, if set to true,
indicates that ingestion should ignore the first record of every file
:type ignore_first_record: bool
:param blob_storage_event_type: The name of blob storage event type to
process. Possible values include: 'Microsoft.Storage.BlobCreated',
'Microsoft.Storage.BlobRenamed'
:type blob_storage_event_type: str or
~azure.mgmt.kusto.models.BlobStorageEventType
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'kind': {'required': True},
'storage_account_resource_id': {'required': True},
'event_hub_resource_id': {'required': True},
'consumer_group': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'},
'event_hub_resource_id': {'key': 'properties.eventHubResourceId', 'type': 'str'},
'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'},
'table_name': {'key': 'properties.tableName', 'type': 'str'},
'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'},
'data_format': {'key': 'properties.dataFormat', 'type': 'str'},
'ignore_first_record': {'key': 'properties.ignoreFirstRecord', 'type': 'bool'},
'blob_storage_event_type': {'key': 'properties.blobStorageEventType', 'type': 'str'},
}
def __init__(self, *, storage_account_resource_id: str, event_hub_resource_id: str, consumer_group: str, location: str=None, table_name: str=None, mapping_rule_name: str=None, data_format=None, ignore_first_record: bool=None, blob_storage_event_type=None, **kwargs) -> None:
super(EventGridDataConnection, self).__init__(location=location, **kwargs)
self.storage_account_resource_id = storage_account_resource_id
self.event_hub_resource_id = event_hub_resource_id
self.consumer_group = consumer_group
self.table_name = table_name
self.mapping_rule_name = mapping_rule_name
self.data_format = data_format
self.ignore_first_record = ignore_first_record
self.blob_storage_event_type = blob_storage_event_type
self.kind = 'EventGrid'
[docs]class EventHubDataConnection(DataConnection):
"""Class representing an event hub data connection.
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 location: Resource location.
:type location: str
:param kind: Required. Constant filled by server.
:type kind: str
:param event_hub_resource_id: Required. The resource ID of the event hub
to be used to create a data connection.
:type event_hub_resource_id: str
:param consumer_group: Required. The event hub consumer group.
:type consumer_group: str
:param table_name: The table where the data should be ingested. Optionally
the table information can be added to each message.
:type table_name: str
:param mapping_rule_name: The mapping rule to be used to ingest the data.
Optionally the mapping information can be added to each message.
:type mapping_rule_name: str
:param data_format: The data format of the message. Optionally the data
format can be added to each message. Possible values include: 'MULTIJSON',
'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON',
'AVRO', 'TSVE', 'PARQUET', 'ORC', 'APACHEAVRO', 'W3CLOGFILE'
:type data_format: str or ~azure.mgmt.kusto.models.EventHubDataFormat
:param event_system_properties: System properties of the event hub
:type event_system_properties: list[str]
:param compression: The event hub messages compression type. Possible
values include: 'None', 'GZip'
:type compression: str or ~azure.mgmt.kusto.models.Compression
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'kind': {'required': True},
'event_hub_resource_id': {'required': True},
'consumer_group': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
'event_hub_resource_id': {'key': 'properties.eventHubResourceId', 'type': 'str'},
'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'},
'table_name': {'key': 'properties.tableName', 'type': 'str'},
'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'},
'data_format': {'key': 'properties.dataFormat', 'type': 'str'},
'event_system_properties': {'key': 'properties.eventSystemProperties', 'type': '[str]'},
'compression': {'key': 'properties.compression', 'type': 'str'},
}
def __init__(self, *, event_hub_resource_id: str, consumer_group: str, location: str=None, table_name: str=None, mapping_rule_name: str=None, data_format=None, event_system_properties=None, compression=None, **kwargs) -> None:
super(EventHubDataConnection, self).__init__(location=location, **kwargs)
self.event_hub_resource_id = event_hub_resource_id
self.consumer_group = consumer_group
self.table_name = table_name
self.mapping_rule_name = mapping_rule_name
self.data_format = data_format
self.event_system_properties = event_system_properties
self.compression = compression
self.kind = 'EventHub'
[docs]class FollowerDatabaseDefinition(Model):
"""A class representing follower database request.
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.
:param cluster_resource_id: Required. Resource id of the cluster that
follows a database owned by this cluster.
:type cluster_resource_id: str
:param attached_database_configuration_name: Required. Resource name of
the attached database configuration in the follower cluster.
:type attached_database_configuration_name: str
:ivar database_name: The database name owned by this cluster that was
followed. * in case following all databases.
:vartype database_name: str
"""
_validation = {
'cluster_resource_id': {'required': True},
'attached_database_configuration_name': {'required': True},
'database_name': {'readonly': True},
}
_attribute_map = {
'cluster_resource_id': {'key': 'clusterResourceId', 'type': 'str'},
'attached_database_configuration_name': {'key': 'attachedDatabaseConfigurationName', 'type': 'str'},
'database_name': {'key': 'databaseName', 'type': 'str'},
}
def __init__(self, *, cluster_resource_id: str, attached_database_configuration_name: str, **kwargs) -> None:
super(FollowerDatabaseDefinition, self).__init__(**kwargs)
self.cluster_resource_id = cluster_resource_id
self.attached_database_configuration_name = attached_database_configuration_name
self.database_name = None
[docs]class Identity(Model):
"""Identity for the 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 principal_id: The principal ID of resource identity.
:vartype principal_id: str
:ivar tenant_id: The tenant ID of resource.
:vartype tenant_id: str
:param type: Required. The identity type. Possible values include: 'None',
'SystemAssigned'
:type type: str or ~azure.mgmt.kusto.models.IdentityType
:param user_assigned_identities: The list of user identities associated
with the Kusto cluster. The user identity dictionary key references will
be ARM resource ids in the form:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
:type user_assigned_identities: dict[str,
~azure.mgmt.kusto.models.IdentityUserAssignedIdentitiesValue]
"""
_validation = {
'principal_id': {'readonly': True},
'tenant_id': {'readonly': True},
'type': {'required': True},
}
_attribute_map = {
'principal_id': {'key': 'principalId', 'type': 'str'},
'tenant_id': {'key': 'tenantId', 'type': 'str'},
'type': {'key': 'type', 'type': 'IdentityType'},
'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{IdentityUserAssignedIdentitiesValue}'},
}
def __init__(self, *, type, user_assigned_identities=None, **kwargs) -> None:
super(Identity, self).__init__(**kwargs)
self.principal_id = None
self.tenant_id = None
self.type = type
self.user_assigned_identities = user_assigned_identities
[docs]class IdentityUserAssignedIdentitiesValue(Model):
"""IdentityUserAssignedIdentitiesValue.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar principal_id: The principal id of user assigned identity.
:vartype principal_id: str
:ivar client_id: The client id of user assigned identity.
:vartype client_id: str
"""
_validation = {
'principal_id': {'readonly': True},
'client_id': {'readonly': True},
}
_attribute_map = {
'principal_id': {'key': 'principalId', 'type': 'str'},
'client_id': {'key': 'clientId', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(IdentityUserAssignedIdentitiesValue, self).__init__(**kwargs)
self.principal_id = None
self.client_id = None
[docs]class IotHubDataConnection(DataConnection):
"""Class representing an iot hub data connection.
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 location: Resource location.
:type location: str
:param kind: Required. Constant filled by server.
:type kind: str
:param iot_hub_resource_id: Required. The resource ID of the Iot hub to be
used to create a data connection.
:type iot_hub_resource_id: str
:param consumer_group: Required. The iot hub consumer group.
:type consumer_group: str
:param table_name: The table where the data should be ingested. Optionally
the table information can be added to each message.
:type table_name: str
:param mapping_rule_name: The mapping rule to be used to ingest the data.
Optionally the mapping information can be added to each message.
:type mapping_rule_name: str
:param data_format: The data format of the message. Optionally the data
format can be added to each message. Possible values include: 'MULTIJSON',
'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON',
'AVRO', 'TSVE', 'PARQUET', 'ORC', 'APACHEAVRO', 'W3CLOGFILE'
:type data_format: str or ~azure.mgmt.kusto.models.IotHubDataFormat
:param event_system_properties: System properties of the iot hub
:type event_system_properties: list[str]
:param shared_access_policy_name: Required. The name of the share access
policy
:type shared_access_policy_name: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'kind': {'required': True},
'iot_hub_resource_id': {'required': True},
'consumer_group': {'required': True},
'shared_access_policy_name': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
'iot_hub_resource_id': {'key': 'properties.iotHubResourceId', 'type': 'str'},
'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'},
'table_name': {'key': 'properties.tableName', 'type': 'str'},
'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'},
'data_format': {'key': 'properties.dataFormat', 'type': 'str'},
'event_system_properties': {'key': 'properties.eventSystemProperties', 'type': '[str]'},
'shared_access_policy_name': {'key': 'properties.sharedAccessPolicyName', 'type': 'str'},
}
def __init__(self, *, iot_hub_resource_id: str, consumer_group: str, shared_access_policy_name: str, location: str=None, table_name: str=None, mapping_rule_name: str=None, data_format=None, event_system_properties=None, **kwargs) -> None:
super(IotHubDataConnection, self).__init__(location=location, **kwargs)
self.iot_hub_resource_id = iot_hub_resource_id
self.consumer_group = consumer_group
self.table_name = table_name
self.mapping_rule_name = mapping_rule_name
self.data_format = data_format
self.event_system_properties = event_system_properties
self.shared_access_policy_name = shared_access_policy_name
self.kind = 'IotHub'
[docs]class KeyVaultProperties(Model):
"""Properties of the key vault.
All required parameters must be populated in order to send to Azure.
:param key_name: Required. The name of the key vault key.
:type key_name: str
:param key_version: Required. The version of the key vault key.
:type key_version: str
:param key_vault_uri: Required. The Uri of the key vault.
:type key_vault_uri: str
"""
_validation = {
'key_name': {'required': True},
'key_version': {'required': True},
'key_vault_uri': {'required': True},
}
_attribute_map = {
'key_name': {'key': 'keyName', 'type': 'str'},
'key_version': {'key': 'keyVersion', 'type': 'str'},
'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'},
}
def __init__(self, *, key_name: str, key_version: str, key_vault_uri: str, **kwargs) -> None:
super(KeyVaultProperties, self).__init__(**kwargs)
self.key_name = key_name
self.key_version = key_version
self.key_vault_uri = key_vault_uri
[docs]class LanguageExtension(Model):
"""The language extension object.
:param language_extension_name: The language extension name. Possible
values include: 'PYTHON', 'R'
:type language_extension_name: str or
~azure.mgmt.kusto.models.LanguageExtensionName
"""
_attribute_map = {
'language_extension_name': {'key': 'languageExtensionName', 'type': 'str'},
}
def __init__(self, *, language_extension_name=None, **kwargs) -> None:
super(LanguageExtension, self).__init__(**kwargs)
self.language_extension_name = language_extension_name
[docs]class LanguageExtensionsList(Model):
"""The list of language extension objects.
:param value: The list of language extensions.
:type value: list[~azure.mgmt.kusto.models.LanguageExtension]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[LanguageExtension]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(LanguageExtensionsList, self).__init__(**kwargs)
self.value = value
[docs]class Operation(Model):
"""A REST API operation.
:param name: The operation name. This is of the format
{provider}/{resource}/{operation}.
:type name: str
:param display: The object that describes the operation.
:type display: ~azure.mgmt.kusto.models.OperationDisplay
:param origin: The intended executor of the operation.
:type origin: str
:param properties: Properties of the operation.
:type properties: object
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'OperationDisplay'},
'origin': {'key': 'origin', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'object'},
}
def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None:
super(Operation, self).__init__(**kwargs)
self.name = name
self.display = display
self.origin = origin
self.properties = properties
[docs]class OperationDisplay(Model):
"""The object that describes the operation.
:param provider: Friendly name of the resource provider.
:type provider: str
:param operation: The operation type. For example: read, write, delete.
:type operation: str
:param resource: The resource type on which the operation is performed.
:type resource: str
:param description: The friendly name of the operation.
:type description: str
"""
_attribute_map = {
'provider': {'key': 'provider', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'resource': {'key': 'resource', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
}
def __init__(self, *, provider: str=None, operation: str=None, resource: str=None, description: str=None, **kwargs) -> None:
super(OperationDisplay, self).__init__(**kwargs)
self.provider = provider
self.operation = operation
self.resource = resource
self.description = description
[docs]class OptimizedAutoscale(Model):
"""A class that contains the optimized auto scale definition.
All required parameters must be populated in order to send to Azure.
:param version: Required. The version of the template defined, for
instance 1.
:type version: int
:param is_enabled: Required. A boolean value that indicate if the
optimized autoscale feature is enabled or not.
:type is_enabled: bool
:param minimum: Required. Minimum allowed instances count.
:type minimum: int
:param maximum: Required. Maximum allowed instances count.
:type maximum: int
"""
_validation = {
'version': {'required': True},
'is_enabled': {'required': True},
'minimum': {'required': True},
'maximum': {'required': True},
}
_attribute_map = {
'version': {'key': 'version', 'type': 'int'},
'is_enabled': {'key': 'isEnabled', 'type': 'bool'},
'minimum': {'key': 'minimum', 'type': 'int'},
'maximum': {'key': 'maximum', 'type': 'int'},
}
def __init__(self, *, version: int, is_enabled: bool, minimum: int, maximum: int, **kwargs) -> None:
super(OptimizedAutoscale, self).__init__(**kwargs)
self.version = version
self.is_enabled = is_enabled
self.minimum = minimum
self.maximum = maximum
[docs]class ReadOnlyFollowingDatabase(Database):
"""Class representing a read only following database.
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 location: Resource location.
:type location: str
:param kind: Required. Constant filled by server.
:type kind: str
:ivar provisioning_state: The provisioned state of the resource. Possible
values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed',
'Moving'
:vartype provisioning_state: str or
~azure.mgmt.kusto.models.ProvisioningState
:ivar soft_delete_period: The time the data should be kept before it stops
being accessible to queries in TimeSpan.
:vartype soft_delete_period: timedelta
:param hot_cache_period: The time the data should be kept in cache for
fast queries in TimeSpan.
:type hot_cache_period: timedelta
:param statistics: The statistics of the database.
:type statistics: ~azure.mgmt.kusto.models.DatabaseStatistics
:ivar leader_cluster_resource_id: The name of the leader cluster
:vartype leader_cluster_resource_id: str
:ivar attached_database_configuration_name: The name of the attached
database configuration cluster
:vartype attached_database_configuration_name: str
:ivar principals_modification_kind: The principals modification kind of
the database. Possible values include: 'Union', 'Replace', 'None'
:vartype principals_modification_kind: str or
~azure.mgmt.kusto.models.PrincipalsModificationKind
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'kind': {'required': True},
'provisioning_state': {'readonly': True},
'soft_delete_period': {'readonly': True},
'leader_cluster_resource_id': {'readonly': True},
'attached_database_configuration_name': {'readonly': True},
'principals_modification_kind': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'soft_delete_period': {'key': 'properties.softDeletePeriod', 'type': 'duration'},
'hot_cache_period': {'key': 'properties.hotCachePeriod', 'type': 'duration'},
'statistics': {'key': 'properties.statistics', 'type': 'DatabaseStatistics'},
'leader_cluster_resource_id': {'key': 'properties.leaderClusterResourceId', 'type': 'str'},
'attached_database_configuration_name': {'key': 'properties.attachedDatabaseConfigurationName', 'type': 'str'},
'principals_modification_kind': {'key': 'properties.principalsModificationKind', 'type': 'str'},
}
def __init__(self, *, location: str=None, hot_cache_period=None, statistics=None, **kwargs) -> None:
super(ReadOnlyFollowingDatabase, self).__init__(location=location, **kwargs)
self.provisioning_state = None
self.soft_delete_period = None
self.hot_cache_period = hot_cache_period
self.statistics = statistics
self.leader_cluster_resource_id = None
self.attached_database_configuration_name = None
self.principals_modification_kind = None
self.kind = 'ReadOnlyFollowing'
[docs]class ReadWriteDatabase(Database):
"""Class representing a read write database.
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 location: Resource location.
:type location: str
:param kind: Required. Constant filled by server.
:type kind: str
:ivar provisioning_state: The provisioned state of the resource. Possible
values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed',
'Moving'
:vartype provisioning_state: str or
~azure.mgmt.kusto.models.ProvisioningState
:param soft_delete_period: The time the data should be kept before it
stops being accessible to queries in TimeSpan.
:type soft_delete_period: timedelta
:param hot_cache_period: The time the data should be kept in cache for
fast queries in TimeSpan.
:type hot_cache_period: timedelta
:param statistics: The statistics of the database.
:type statistics: ~azure.mgmt.kusto.models.DatabaseStatistics
:ivar is_followed: Indicates whether the database is followed.
:vartype is_followed: bool
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'kind': {'required': True},
'provisioning_state': {'readonly': True},
'is_followed': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'soft_delete_period': {'key': 'properties.softDeletePeriod', 'type': 'duration'},
'hot_cache_period': {'key': 'properties.hotCachePeriod', 'type': 'duration'},
'statistics': {'key': 'properties.statistics', 'type': 'DatabaseStatistics'},
'is_followed': {'key': 'properties.isFollowed', 'type': 'bool'},
}
def __init__(self, *, location: str=None, soft_delete_period=None, hot_cache_period=None, statistics=None, **kwargs) -> None:
super(ReadWriteDatabase, self).__init__(location=location, **kwargs)
self.provisioning_state = None
self.soft_delete_period = soft_delete_period
self.hot_cache_period = hot_cache_period
self.statistics = statistics
self.is_followed = None
self.kind = 'ReadWrite'
[docs]class SkuDescription(Model):
"""The Kusto SKU description of given resource type.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar resource_type: The resource type
:vartype resource_type: str
:ivar name: The name of the SKU
:vartype name: str
:ivar tier: The tier of the SKU
:vartype tier: str
:ivar locations: The set of locations that the SKU is available
:vartype locations: list[str]
:ivar location_info: Locations and zones
:vartype location_info: list[~azure.mgmt.kusto.models.SkuLocationInfoItem]
:ivar restrictions: The restrictions because of which SKU cannot be used
:vartype restrictions: list[object]
"""
_validation = {
'resource_type': {'readonly': True},
'name': {'readonly': True},
'tier': {'readonly': True},
'locations': {'readonly': True},
'location_info': {'readonly': True},
'restrictions': {'readonly': True},
}
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'tier': {'key': 'tier', 'type': 'str'},
'locations': {'key': 'locations', 'type': '[str]'},
'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfoItem]'},
'restrictions': {'key': 'restrictions', 'type': '[object]'},
}
def __init__(self, **kwargs) -> None:
super(SkuDescription, self).__init__(**kwargs)
self.resource_type = None
self.name = None
self.tier = None
self.locations = None
self.location_info = None
self.restrictions = None
[docs]class SkuLocationInfoItem(Model):
"""The locations and zones info for SKU.
All required parameters must be populated in order to send to Azure.
:param location: Required. The available location of the SKU.
:type location: str
:param zones: The available zone of the SKU.
:type zones: list[str]
"""
_validation = {
'location': {'required': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'zones': {'key': 'zones', 'type': '[str]'},
}
def __init__(self, *, location: str, zones=None, **kwargs) -> None:
super(SkuLocationInfoItem, self).__init__(**kwargs)
self.location = location
self.zones = zones
[docs]class TrustedExternalTenant(Model):
"""Represents a tenant ID that is trusted by the cluster.
:param value: GUID representing an external tenant.
:type value: str
"""
_attribute_map = {
'value': {'key': 'value', 'type': 'str'},
}
def __init__(self, *, value: str=None, **kwargs) -> None:
super(TrustedExternalTenant, self).__init__(**kwargs)
self.value = value
[docs]class VirtualNetworkConfiguration(Model):
"""A class that contains virtual network definition.
All required parameters must be populated in order to send to Azure.
:param subnet_id: Required. The subnet resource id.
:type subnet_id: str
:param engine_public_ip_id: Required. Engine service's public IP address
resource id.
:type engine_public_ip_id: str
:param data_management_public_ip_id: Required. Data management's service
public IP address resource id.
:type data_management_public_ip_id: str
"""
_validation = {
'subnet_id': {'required': True},
'engine_public_ip_id': {'required': True},
'data_management_public_ip_id': {'required': True},
}
_attribute_map = {
'subnet_id': {'key': 'subnetId', 'type': 'str'},
'engine_public_ip_id': {'key': 'enginePublicIpId', 'type': 'str'},
'data_management_public_ip_id': {'key': 'dataManagementPublicIpId', 'type': 'str'},
}
def __init__(self, *, subnet_id: str, engine_public_ip_id: str, data_management_public_ip_id: str, **kwargs) -> None:
super(VirtualNetworkConfiguration, self).__init__(**kwargs)
self.subnet_id = subnet_id
self.engine_public_ip_id = engine_public_ip_id
self.data_management_public_ip_id = data_management_public_ip_id