Skip to content

Commit

Permalink
Sdk automation/azure mgmt hdinsight (#11704)
Browse files Browse the repository at this point in the history
* Update from master

* changelog and run test

* run live

* [HDInsight] Fix hdi test failure (#11806)

* Initial generation Synapse autorest v5

* Fix empty model generation

* Fix Test Failure:
Skip 3 test case: test_create_with_adlsgen1, test_create_with_additional_storage, test_oms_on_running_cluster
Rename test_http_extend to test_gateway_setting for http settings is
replaced with gateway settings

Co-authored-by: Laurent Mazuel <laurent.mazuel@gmail.com>
Co-authored-by: Zhenyu Zhou <zhezhou@microsoft.com>

* run test

* correct testcase

Co-authored-by: SDK Automation <sdkautomation@microsoft.com>
Co-authored-by: aim-for-better <zhenyu.zhou@microsoft.com>
Co-authored-by: Laurent Mazuel <laurent.mazuel@gmail.com>
Co-authored-by: Zhenyu Zhou <zhezhou@microsoft.com>
  • Loading branch information
5 people authored Jun 5, 2020
1 parent 45934b6 commit 111e152
Show file tree
Hide file tree
Showing 31 changed files with 21,086 additions and 16,310 deletions.
6 changes: 6 additions & 0 deletions sdk/hdinsight/azure-mgmt-hdinsight/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Release History

## 1.5.0 (2020-05-29)

**Features**

- Added operation group VirtualMachinesOperations

## 1.4.0 (2020-01-16)

**Features**
Expand Down
28 changes: 10 additions & 18 deletions sdk/hdinsight/azure-mgmt-hdinsight/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,21 @@
## Microsoft Azure SDK for Python
# Microsoft Azure SDK for Python

This is the Microsoft Azure HDInsight Management Client Library.

Azure Resource Manager (ARM) is the next generation of management APIs
that replace the old Azure Service Management (ASM).

This package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8.
For a more complete view of Azure libraries, see the [Github repo](https://github.com/Azure/azure-sdk-for-python/)

For the older Azure Service Management (ASM) libraries, see
[azure-servicemanagement-legacy](https://pypi.python.org/pypi/azure-servicemanagement-legacy)
library.

For a more complete set of Azure libraries, see the
[azure](https://pypi.python.org/pypi/azure) bundle package.

## Usage
# Usage

For code examples, see [HDInsight
Management](https://docs.microsoft.com/python/api/overview/azure/hdinsight)
For code examples, see [HDInsight Management](https://docs.microsoft.com/python/api/overview/azure/hdinsight)
on docs.microsoft.com.

## Provide Feedback

If you encounter any bugs or have suggestions, please file an issue in
the [Issues](https://github.com/Azure/azure-sdk-for-python/issues)
# Provide Feedback

If you encounter any bugs or have suggestions, please file an issue in the
[Issues](https://github.com/Azure/azure-sdk-for-python/issues)
section of the project.

![image](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-hdinsight%2FREADME.png)

![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-hdinsight%2FREADME.png)
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from .operations import ScriptActionsOperations
from .operations import ScriptExecutionHistoryOperations
from .operations import Operations
from .operations import VirtualMachinesOperations
from . import models


Expand All @@ -46,6 +47,8 @@ class HDInsightManagementClient(SDKClient):
:vartype script_execution_history: azure.mgmt.hdinsight.operations.ScriptExecutionHistoryOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.hdinsight.operations.Operations
:ivar virtual_machines: VirtualMachines operations
:vartype virtual_machines: azure.mgmt.hdinsight.operations.VirtualMachinesOperations
:param credentials: Credentials needed for the client to connect to Azure.
:type credentials: :mod:`A msrestazure Credentials
Expand Down Expand Up @@ -84,3 +87,5 @@ def __init__(
self._client, self.config, self._serialize, self._deserialize)
self.operations = Operations(
self._client, self.config, self._serialize, self._deserialize)
self.virtual_machines = VirtualMachinesOperations(
self._client, self.config, self._serialize, self._deserialize)
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@
from ._models_py3 import Extension
from ._models_py3 import GatewaySettings
from ._models_py3 import HardwareProfile
from ._models_py3 import HostInfo
from ._models_py3 import HostInfoListResult
from ._models_py3 import KafkaRestProperties
from ._models_py3 import LinuxOperatingSystemProfile
from ._models_py3 import LocalizedName
Expand Down Expand Up @@ -125,6 +127,8 @@
from ._models import Extension
from ._models import GatewaySettings
from ._models import HardwareProfile
from ._models import HostInfo
from ._models import HostInfoListResult
from ._models import KafkaRestProperties
from ._models import LinuxOperatingSystemProfile
from ._models import LocalizedName
Expand Down Expand Up @@ -216,6 +220,8 @@
'Extension',
'GatewaySettings',
'HardwareProfile',
'HostInfo',
'HostInfoListResult',
'KafkaRestProperties',
'LinuxOperatingSystemProfile',
'LocalizedName',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1322,6 +1322,38 @@ def __init__(self, **kwargs):
self.vm_size = kwargs.get('vm_size', None)


class HostInfo(Model):
"""The cluster host information.
:param name: The host name
:type name: str
"""

_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}

def __init__(self, **kwargs):
super(HostInfo, self).__init__(**kwargs)
self.name = kwargs.get('name', None)


class HostInfoListResult(Model):
"""Result of the request to list cluster hosts.
:param value: The list of cluster hosts.
:type value: list[~azure.mgmt.hdinsight.models.HostInfo]
"""

_attribute_map = {
'value': {'key': 'value', 'type': '[HostInfo]'},
}

def __init__(self, **kwargs):
super(HostInfoListResult, self).__init__(**kwargs)
self.value = kwargs.get('value', None)


class KafkaRestProperties(Model):
"""The kafka rest proxy configuration which contains AAD security group
information.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1322,6 +1322,38 @@ def __init__(self, *, vm_size: str=None, **kwargs) -> None:
self.vm_size = vm_size


class HostInfo(Model):
"""The cluster host information.
:param name: The host name
:type name: str
"""

_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}

def __init__(self, *, name: str=None, **kwargs) -> None:
super(HostInfo, self).__init__(**kwargs)
self.name = name


class HostInfoListResult(Model):
"""Result of the request to list cluster hosts.
:param value: The list of cluster hosts.
:type value: list[~azure.mgmt.hdinsight.models.HostInfo]
"""

_attribute_map = {
'value': {'key': 'value', 'type': '[HostInfo]'},
}

def __init__(self, *, value=None, **kwargs) -> None:
super(HostInfoListResult, self).__init__(**kwargs)
self.value = value


class KafkaRestProperties(Model):
"""The kafka rest proxy configuration which contains AAD security group
information.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from ._script_actions_operations import ScriptActionsOperations
from ._script_execution_history_operations import ScriptExecutionHistoryOperations
from ._operations import Operations
from ._virtual_machines_operations import VirtualMachinesOperations

__all__ = [
'ClustersOperations',
Expand All @@ -27,4 +28,5 @@
'ScriptActionsOperations',
'ScriptExecutionHistoryOperations',
'Operations',
'VirtualMachinesOperations',
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# 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.
# --------------------------------------------------------------------------

import uuid
from msrest.pipeline import ClientRawResponse
from msrest.polling import LROPoller, NoPolling
from msrestazure.polling.arm_polling import ARMPolling

from .. import models


class VirtualMachinesOperations(object):
"""VirtualMachinesOperations operations.
You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute.
:param client: Client for service requests.
:param config: Configuration of service client.
:param serializer: An object model serializer.
:param deserializer: An object model deserializer.
:ivar api_version: The HDInsight client API Version. Constant value: "2018-06-01-preview".
"""

models = models

def __init__(self, client, config, serializer, deserializer):

self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-06-01-preview"

self.config = config

def list_hosts(
self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config):
"""Lists the HDInsight clusters hosts.
:param resource_group_name: The name of the resource group.
:type resource_group_name: str
:param cluster_name: The name of the cluster.
:type cluster_name: str
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:return: HostInfoListResult or ClientRawResponse if raw=true
:rtype: ~azure.mgmt.hdinsight.models.HostInfoListResult or
~msrest.pipeline.ClientRawResponse
:raises:
:class:`ErrorResponseException<azure.mgmt.hdinsight.models.ErrorResponseException>`
"""
# Construct URL
url = self.list_hosts.metadata['url']
path_format_arguments = {
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'),
'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'),
'clusterName': self._serialize.url("cluster_name", cluster_name, 'str')
}
url = self._client.format_url(url, **path_format_arguments)

# Construct parameters
query_parameters = {}
query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str')

# Construct headers
header_parameters = {}
header_parameters['Accept'] = 'application/json'
if self.config.generate_client_request_id:
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
if custom_headers:
header_parameters.update(custom_headers)
if self.config.accept_language is not None:
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')

# Construct and send request
request = self._client.post(url, query_parameters, header_parameters)
response = self._client.send(request, stream=False, **operation_config)

if response.status_code not in [200]:
raise models.ErrorResponseException(self._deserialize, response)

deserialized = None
if response.status_code == 200:
deserialized = self._deserialize('HostInfoListResult', response)

if raw:
client_raw_response = ClientRawResponse(deserialized, response)
return client_raw_response

return deserialized
list_hosts.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts'}


def _restart_hosts_initial(
self, resource_group_name, cluster_name, hosts, custom_headers=None, raw=False, **operation_config):
# Construct URL
url = self.restart_hosts.metadata['url']
path_format_arguments = {
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'),
'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'),
'clusterName': self._serialize.url("cluster_name", cluster_name, 'str')
}
url = self._client.format_url(url, **path_format_arguments)

# Construct parameters
query_parameters = {}
query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str')

# Construct headers
header_parameters = {}
header_parameters['Content-Type'] = 'application/json; charset=utf-8'
if self.config.generate_client_request_id:
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
if custom_headers:
header_parameters.update(custom_headers)
if self.config.accept_language is not None:
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')

# Construct body
body_content = self._serialize.body(hosts, '[str]')

# Construct and send request
request = self._client.post(url, query_parameters, header_parameters, body_content)
response = self._client.send(request, stream=False, **operation_config)

if response.status_code not in [200, 202]:
raise models.ErrorResponseException(self._deserialize, response)

if raw:
client_raw_response = ClientRawResponse(None, response)
return client_raw_response

def restart_hosts(
self, resource_group_name, cluster_name, hosts, custom_headers=None, raw=False, polling=True, **operation_config):
"""Restarts the specified HDInsight cluster hosts.
:param resource_group_name: The name of the resource group.
:type resource_group_name: str
:param cluster_name: The name of the cluster.
:type cluster_name: str
:param hosts: The list of hosts to restart
:type hosts: list[str]
:param dict custom_headers: headers that will be added to the request
:param bool raw: The poller return type is ClientRawResponse, the
direct response alongside the deserialized response
:param polling: True for ARMPolling, False for no polling, or a
polling object for personal polling strategy
:return: An instance of LROPoller that returns None or
ClientRawResponse<None> if raw==True
:rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or
~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]]
:raises:
:class:`ErrorResponseException<azure.mgmt.hdinsight.models.ErrorResponseException>`
"""
raw_result = self._restart_hosts_initial(
resource_group_name=resource_group_name,
cluster_name=cluster_name,
hosts=hosts,
custom_headers=custom_headers,
raw=True,
**operation_config
)

def get_long_running_output(response):
if raw:
client_raw_response = ClientRawResponse(None, response)
return client_raw_response

lro_delay = operation_config.get(
'long_running_operation_timeout',
self.config.long_running_operation_timeout)
if polling is True: polling_method = ARMPolling(lro_delay, **operation_config)
elif polling is False: polling_method = NoPolling()
else: polling_method = polling
return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
restart_hosts.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/restartHosts'}
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
# regenerated.
# --------------------------------------------------------------------------

VERSION = "1.4.0"
VERSION = "1.5.0"

1 change: 1 addition & 0 deletions sdk/hdinsight/azure-mgmt-hdinsight/dev_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
-e ../../core/azure-core
-e ../../keyvault/azure-keyvault-keys
-e ../../keyvault/azure-mgmt-keyvault
-e ../../loganalytics/azure-mgmt-loganalytics
-e ../../resources/azure-mgmt-msi/
Loading

0 comments on commit 111e152

Please sign in to comment.