From 3971a8815e6e550795a6d233ef88d25c513ff147 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Thu, 13 Sep 2018 01:11:51 +0000 Subject: [PATCH 1/5] Generated from 5271be59e1385aa17e3cc8b4e0ee8e1a1c9d7415 update examples --- .../models/__init__.py | 6 + .../machinelearningservices/models/aks.py | 3 + .../machinelearningservices/models/aks_py3.py | 7 +- ...azure_machine_learning_workspaces_enums.py | 1 + .../models/batch_ai.py | 3 + .../models/batch_ai_py3.py | 7 +- .../machinelearningservices/models/compute.py | 8 +- .../models/compute_py3.py | 10 +- .../models/data_factory.py | 3 + .../models/data_factory_py3.py | 7 +- .../models/hd_insight.py | 72 ++++++ .../models/hd_insight_properties.py | 46 ++++ .../models/hd_insight_properties_py3.py | 46 ++++ .../models/hd_insight_py3.py | 72 ++++++ .../models/virtual_machine.py | 3 + .../models/virtual_machine_properties.py | 15 ++ .../models/virtual_machine_properties_py3.py | 17 +- .../models/virtual_machine_py3.py | 7 +- .../machine_learning_compute_operations.py | 234 ++++++++---------- .../operations/operations.py | 7 +- .../operations/workspaces_operations.py | 48 ++-- 21 files changed, 452 insertions(+), 170 deletions(-) create mode 100644 azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight.py create mode 100644 azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py create mode 100644 azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py create mode 100644 azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_py3.py diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py index fc6dfadba291..e03d0d68a8a8 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py @@ -34,6 +34,8 @@ from .virtual_machine_ssh_credentials_py3 import VirtualMachineSshCredentials from .virtual_machine_properties_py3 import VirtualMachineProperties from .virtual_machine_py3 import VirtualMachine + from .hd_insight_properties_py3 import HDInsightProperties + from .hd_insight_py3 import HDInsight from .data_factory_py3 import DataFactory from .service_principal_credentials_py3 import ServicePrincipalCredentials from .compute_secrets_py3 import ComputeSecrets @@ -64,6 +66,8 @@ from .virtual_machine_ssh_credentials import VirtualMachineSshCredentials from .virtual_machine_properties import VirtualMachineProperties from .virtual_machine import VirtualMachine + from .hd_insight_properties import HDInsightProperties + from .hd_insight import HDInsight from .data_factory import DataFactory from .service_principal_credentials import ServicePrincipalCredentials from .compute_secrets import ComputeSecrets @@ -103,6 +107,8 @@ 'VirtualMachineSshCredentials', 'VirtualMachineProperties', 'VirtualMachine', + 'HDInsightProperties', + 'HDInsight', 'DataFactory', 'ServicePrincipalCredentials', 'ComputeSecrets', diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks.py index 94f17e58b2ac..e5d56bfa1a0b 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks.py @@ -20,6 +20,8 @@ class AKS(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -52,6 +54,7 @@ class AKS(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks_py3.py index c8d8b22b78f8..063a0677bdc1 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/aks_py3.py @@ -20,6 +20,8 @@ class AKS(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -52,6 +54,7 @@ class AKS(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, @@ -62,7 +65,7 @@ class AKS(Compute): 'properties': {'key': 'properties', 'type': 'AKSProperties'}, } - def __init__(self, *, description: str=None, resource_id: str=None, properties=None, **kwargs) -> None: - super(AKS, self).__init__(description=description, resource_id=resource_id, **kwargs) + def __init__(self, *, compute_location: str=None, description: str=None, resource_id: str=None, properties=None, **kwargs) -> None: + super(AKS, self).__init__(compute_location=compute_location, description=description, resource_id=resource_id, **kwargs) self.properties = properties self.compute_type = 'AKS' diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/azure_machine_learning_workspaces_enums.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/azure_machine_learning_workspaces_enums.py index 89532c08ee6b..b36d430ec8dd 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/azure_machine_learning_workspaces_enums.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/azure_machine_learning_workspaces_enums.py @@ -34,3 +34,4 @@ class ComputeType(str, Enum): batch_ai = "BatchAI" data_factory = "DataFactory" virtual_machine = "VirtualMachine" + hd_insight = "HDInsight" diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai.py index d3e8d226d815..87462f377eca 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai.py @@ -20,6 +20,8 @@ class BatchAI(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -53,6 +55,7 @@ class BatchAI(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai_py3.py index 684e0e0b342c..796a26605720 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/batch_ai_py3.py @@ -20,6 +20,8 @@ class BatchAI(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -53,6 +55,7 @@ class BatchAI(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, @@ -63,7 +66,7 @@ class BatchAI(Compute): 'properties': {'key': 'properties', 'type': 'BatchAIProperties'}, } - def __init__(self, *, description: str=None, resource_id: str=None, properties=None, **kwargs) -> None: - super(BatchAI, self).__init__(description=description, resource_id=resource_id, **kwargs) + def __init__(self, *, compute_location: str=None, description: str=None, resource_id: str=None, properties=None, **kwargs) -> None: + super(BatchAI, self).__init__(compute_location=compute_location, description=description, resource_id=resource_id, **kwargs) self.properties = properties self.compute_type = 'BatchAI' diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute.py index 2c162e62daec..036834066c20 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute.py @@ -16,13 +16,15 @@ class Compute(Model): """Machine Learning compute object. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AKS, BatchAI, VirtualMachine, DataFactory + sub-classes are: AKS, BatchAI, VirtualMachine, HDInsight, DataFactory 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 compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -53,6 +55,7 @@ class Compute(Model): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, @@ -63,11 +66,12 @@ class Compute(Model): } _subtype_map = { - 'compute_type': {'AKS': 'AKS', 'BatchAI': 'BatchAI', 'VirtualMachine': 'VirtualMachine', 'DataFactory': 'DataFactory'} + 'compute_type': {'AKS': 'AKS', 'BatchAI': 'BatchAI', 'VirtualMachine': 'VirtualMachine', 'HDInsight': 'HDInsight', 'DataFactory': 'DataFactory'} } def __init__(self, **kwargs): super(Compute, self).__init__(**kwargs) + self.compute_location = kwargs.get('compute_location', None) self.provisioning_state = None self.description = kwargs.get('description', None) self.created_on = None diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute_py3.py index 8664bd9c46f9..1e4bd15aa95a 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/compute_py3.py @@ -16,13 +16,15 @@ class Compute(Model): """Machine Learning compute object. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AKS, BatchAI, VirtualMachine, DataFactory + sub-classes are: AKS, BatchAI, VirtualMachine, HDInsight, DataFactory 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 compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -53,6 +55,7 @@ class Compute(Model): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, @@ -63,11 +66,12 @@ class Compute(Model): } _subtype_map = { - 'compute_type': {'AKS': 'AKS', 'BatchAI': 'BatchAI', 'VirtualMachine': 'VirtualMachine', 'DataFactory': 'DataFactory'} + 'compute_type': {'AKS': 'AKS', 'BatchAI': 'BatchAI', 'VirtualMachine': 'VirtualMachine', 'HDInsight': 'HDInsight', 'DataFactory': 'DataFactory'} } - def __init__(self, *, description: str=None, resource_id: str=None, **kwargs) -> None: + def __init__(self, *, compute_location: str=None, description: str=None, resource_id: str=None, **kwargs) -> None: super(Compute, self).__init__(**kwargs) + self.compute_location = compute_location self.provisioning_state = None self.description = description self.created_on = None diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory.py index 1df12a8a9c3d..0733acb2664c 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory.py @@ -20,6 +20,8 @@ class DataFactory(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -50,6 +52,7 @@ class DataFactory(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory_py3.py index 8340934ea2fd..7c3501b24c10 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/data_factory_py3.py @@ -20,6 +20,8 @@ class DataFactory(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -50,6 +52,7 @@ class DataFactory(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, @@ -59,6 +62,6 @@ class DataFactory(Compute): 'compute_type': {'key': 'computeType', 'type': 'str'}, } - def __init__(self, *, description: str=None, resource_id: str=None, **kwargs) -> None: - super(DataFactory, self).__init__(description=description, resource_id=resource_id, **kwargs) + def __init__(self, *, compute_location: str=None, description: str=None, resource_id: str=None, **kwargs) -> None: + super(DataFactory, self).__init__(compute_location=compute_location, description=description, resource_id=resource_id, **kwargs) self.compute_type = 'DataFactory' diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight.py new file mode 100644 index 000000000000..36e32adee0fe --- /dev/null +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight.py @@ -0,0 +1,72 @@ +# 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 .compute import Compute + + +class HDInsight(Compute): + """A HDInsight compute. + + 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 compute_location: Location for the underlying compute + :type compute_location: str + :ivar provisioning_state: The provision state of the cluster. Valid values + are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible + values include: 'Unknown', 'Updating', 'Creating', 'Deleting', + 'Succeeded', 'Failed', 'Canceled' + :vartype provisioning_state: str or + ~azure.mgmt.machinelearningservices.models.ProvisioningState + :param description: The description of the Machine Learning compute. + :type description: str + :ivar created_on: The date and time when the compute was created. + :vartype created_on: datetime + :ivar modified_on: The date and time when the compute was last modified. + :vartype modified_on: datetime + :param resource_id: ARM resource id of the compute + :type resource_id: str + :ivar provisioning_errors: Errors during provisioning + :vartype provisioning_errors: + list[~azure.mgmt.machinelearningservices.models.MachineLearningServiceError] + :param compute_type: Required. Constant filled by server. + :type compute_type: str + :param properties: + :type properties: + ~azure.mgmt.machinelearningservices.models.HDInsightProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'created_on': {'readonly': True}, + 'modified_on': {'readonly': True}, + 'provisioning_errors': {'readonly': True}, + 'compute_type': {'required': True}, + } + + _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, + 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[MachineLearningServiceError]'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'HDInsightProperties'}, + } + + def __init__(self, **kwargs): + super(HDInsight, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.compute_type = 'HDInsight' diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py new file mode 100644 index 000000000000..c90a45c0473f --- /dev/null +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py @@ -0,0 +1,46 @@ +# 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 + + +class HDInsightProperties(Model): + """HDInsightProperties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param ssh_port: Port open for ssh connections on the master node of the + cluster. + :type ssh_port: int + :ivar address: Public IP address of the master node of the cluster. + :vartype address: str + :param administrator_account: Admin credentials for master node of the + cluster + :type administrator_account: + ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials + """ + + _validation = { + 'address': {'readonly': True}, + } + + _attribute_map = { + 'ssh_port': {'key': 'sshPort', 'type': 'int'}, + 'address': {'key': 'address', 'type': 'str'}, + 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'}, + } + + def __init__(self, **kwargs): + super(HDInsightProperties, self).__init__(**kwargs) + self.ssh_port = kwargs.get('ssh_port', None) + self.address = None + self.administrator_account = kwargs.get('administrator_account', None) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py new file mode 100644 index 000000000000..1ad05d8eaf37 --- /dev/null +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py @@ -0,0 +1,46 @@ +# 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 + + +class HDInsightProperties(Model): + """HDInsightProperties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param ssh_port: Port open for ssh connections on the master node of the + cluster. + :type ssh_port: int + :ivar address: Public IP address of the master node of the cluster. + :vartype address: str + :param administrator_account: Admin credentials for master node of the + cluster + :type administrator_account: + ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials + """ + + _validation = { + 'address': {'readonly': True}, + } + + _attribute_map = { + 'ssh_port': {'key': 'sshPort', 'type': 'int'}, + 'address': {'key': 'address', 'type': 'str'}, + 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'}, + } + + def __init__(self, *, ssh_port: int=None, administrator_account=None, **kwargs) -> None: + super(HDInsightProperties, self).__init__(**kwargs) + self.ssh_port = ssh_port + self.address = None + self.administrator_account = administrator_account diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_py3.py new file mode 100644 index 000000000000..e4341660c48e --- /dev/null +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_py3.py @@ -0,0 +1,72 @@ +# 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 .compute_py3 import Compute + + +class HDInsight(Compute): + """A HDInsight compute. + + 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 compute_location: Location for the underlying compute + :type compute_location: str + :ivar provisioning_state: The provision state of the cluster. Valid values + are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible + values include: 'Unknown', 'Updating', 'Creating', 'Deleting', + 'Succeeded', 'Failed', 'Canceled' + :vartype provisioning_state: str or + ~azure.mgmt.machinelearningservices.models.ProvisioningState + :param description: The description of the Machine Learning compute. + :type description: str + :ivar created_on: The date and time when the compute was created. + :vartype created_on: datetime + :ivar modified_on: The date and time when the compute was last modified. + :vartype modified_on: datetime + :param resource_id: ARM resource id of the compute + :type resource_id: str + :ivar provisioning_errors: Errors during provisioning + :vartype provisioning_errors: + list[~azure.mgmt.machinelearningservices.models.MachineLearningServiceError] + :param compute_type: Required. Constant filled by server. + :type compute_type: str + :param properties: + :type properties: + ~azure.mgmt.machinelearningservices.models.HDInsightProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'created_on': {'readonly': True}, + 'modified_on': {'readonly': True}, + 'provisioning_errors': {'readonly': True}, + 'compute_type': {'required': True}, + } + + _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, + 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[MachineLearningServiceError]'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'HDInsightProperties'}, + } + + def __init__(self, *, compute_location: str=None, description: str=None, resource_id: str=None, properties=None, **kwargs) -> None: + super(HDInsight, self).__init__(compute_location=compute_location, description=description, resource_id=resource_id, **kwargs) + self.properties = properties + self.compute_type = 'HDInsight' diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine.py index 00b966c24a95..b28ea14b0cb7 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine.py @@ -20,6 +20,8 @@ class VirtualMachine(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -53,6 +55,7 @@ class VirtualMachine(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py index bc5f51df2d9b..cf3a00a35993 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py @@ -15,19 +15,34 @@ class VirtualMachineProperties(Model): """VirtualMachineProperties. + Variables are only populated by the server, and will be ignored when + sending a request. + :param virtual_machine_size: Virtual Machine size :type virtual_machine_size: str + :param ssh_port: Port open for ssh connections. + :type ssh_port: int + :ivar address: Public IP address of the virtual machine. + :vartype address: str :param administrator_account: Admin credentials for virtual machine :type administrator_account: ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials """ + _validation = { + 'address': {'readonly': True}, + } + _attribute_map = { 'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'}, + 'ssh_port': {'key': 'sshPort', 'type': 'int'}, + 'address': {'key': 'address', 'type': 'str'}, 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'}, } def __init__(self, **kwargs): super(VirtualMachineProperties, self).__init__(**kwargs) self.virtual_machine_size = kwargs.get('virtual_machine_size', None) + self.ssh_port = kwargs.get('ssh_port', None) + self.address = None self.administrator_account = kwargs.get('administrator_account', None) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py index d651ffda03ce..22a0f6605664 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py @@ -15,19 +15,34 @@ class VirtualMachineProperties(Model): """VirtualMachineProperties. + Variables are only populated by the server, and will be ignored when + sending a request. + :param virtual_machine_size: Virtual Machine size :type virtual_machine_size: str + :param ssh_port: Port open for ssh connections. + :type ssh_port: int + :ivar address: Public IP address of the virtual machine. + :vartype address: str :param administrator_account: Admin credentials for virtual machine :type administrator_account: ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials """ + _validation = { + 'address': {'readonly': True}, + } + _attribute_map = { 'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'}, + 'ssh_port': {'key': 'sshPort', 'type': 'int'}, + 'address': {'key': 'address', 'type': 'str'}, 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'}, } - def __init__(self, *, virtual_machine_size: str=None, administrator_account=None, **kwargs) -> None: + def __init__(self, *, virtual_machine_size: str=None, ssh_port: int=None, administrator_account=None, **kwargs) -> None: super(VirtualMachineProperties, self).__init__(**kwargs) self.virtual_machine_size = virtual_machine_size + self.ssh_port = ssh_port + self.address = None self.administrator_account = administrator_account diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_py3.py index 681b2fd2c26f..eb9108b0d7df 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_py3.py @@ -20,6 +20,8 @@ class VirtualMachine(Compute): All required parameters must be populated in order to send to Azure. + :param compute_location: Location for the underlying compute + :type compute_location: str :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', @@ -53,6 +55,7 @@ class VirtualMachine(Compute): } _attribute_map = { + 'compute_location': {'key': 'computeLocation', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'created_on': {'key': 'createdOn', 'type': 'iso-8601'}, @@ -63,7 +66,7 @@ class VirtualMachine(Compute): 'properties': {'key': 'properties', 'type': 'VirtualMachineProperties'}, } - def __init__(self, *, description: str=None, resource_id: str=None, properties=None, **kwargs) -> None: - super(VirtualMachine, self).__init__(description=description, resource_id=resource_id, **kwargs) + def __init__(self, *, compute_location: str=None, description: str=None, resource_id: str=None, properties=None, **kwargs) -> None: + super(VirtualMachine, self).__init__(compute_location=compute_location, description=description, resource_id=resource_id, **kwargs) self.properties = properties self.compute_type = 'VirtualMachine' diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py index f12c1d119ccd..9cad81d9204d 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py @@ -11,8 +11,6 @@ import uuid from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -84,7 +82,7 @@ def internal_paging(next_link=None, raw=False): # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -93,9 +91,8 @@ def internal_paging(next_link=None, raw=False): header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: raise models.MachineLearningServiceErrorException(self._deserialize, response) @@ -111,7 +108,7 @@ def internal_paging(next_link=None, raw=False): return client_raw_response return deserialized - list_by_workspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes'} + list_by_workspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes'} def get( self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): @@ -153,7 +150,7 @@ def get( # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -162,8 +159,8 @@ def get( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: raise models.MachineLearningServiceErrorException(self._deserialize, response) @@ -178,11 +175,35 @@ def get( return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - def _create_or_update_initial( + def create_or_update( self, resource_group_name, workspace_name, compute_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates compute. This call will overwrite a compute if it + exists. This is a nonrecoverable operation. If your intent is to create + a new compute, do a GET first to verify that it does not exist yet. + + :param resource_group_name: Name of the resource group in which + workspace is located. + :type resource_group_name: str + :param workspace_name: Name of Azure Machine Learning workspace. + :type workspace_name: str + :param compute_name: Name of the Azure Machine Learning compute. + :type compute_name: str + :param parameters: Payload with Machine Learning compute definition. + :type parameters: + ~azure.mgmt.machinelearningservices.models.ComputeResource + :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`. + :return: ComputeResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.machinelearningservices.models.ComputeResource or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`MachineLearningServiceErrorException` + """ # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { @@ -199,6 +220,7 @@ def _create_or_update_initial( # Construct headers header_parameters = {} + header_parameters['Accept'] = 'application/json' 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()) @@ -211,21 +233,15 @@ def _create_or_update_initial( body_content = self._serialize.body(parameters, 'ComputeResource') # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200, 201]: + if response.status_code not in [201]: raise models.MachineLearningServiceErrorException(self._deserialize, response) deserialized = None header_dict = {} - if response.status_code == 200: - deserialized = self._deserialize('ComputeResource', response) - header_dict = { - 'Azure-AsyncOperation': 'str', - } if response.status_code == 201: deserialized = self._deserialize('ComputeResource', response) header_dict = { @@ -238,12 +254,11 @@ def _create_or_update_initial( return client_raw_response return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - def create_or_update( - self, resource_group_name, workspace_name, compute_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates compute. This call will overwrite a compute if it - exists. This is a nonrecoverable operation. If your intent is to create - a new compute, do a GET first to verify that it does not exist yet. + def delete( + self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): + """Deletes specified Machine Learning compute. :param resource_group_name: Name of the resource group in which workspace is located. @@ -252,58 +267,16 @@ def create_or_update( :type workspace_name: str :param compute_name: Name of the Azure Machine Learning compute. :type compute_name: str - :param parameters: Payload with Machine Learning compute definition. - :type parameters: - ~azure.mgmt.machinelearningservices.models.ComputeResource :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 ComputeResource or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.machinelearningservices.models.ComputeResource] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.machinelearningservices.models.ComputeResource]] + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse :raises: :class:`MachineLearningServiceErrorException` """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - workspace_name=workspace_name, - compute_name=compute_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - header_dict = { - 'Azure-AsyncOperation': 'str', - } - deserialized = self._deserialize('ComputeResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response - - return deserialized - - 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) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - - - def _delete_initial( - self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.delete.metadata['url'] path_format_arguments = { @@ -320,7 +293,6 @@ def _delete_initial( # 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: @@ -329,24 +301,24 @@ def _delete_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200, 202]: + if response.status_code not in [202]: raise models.MachineLearningServiceErrorException(self._deserialize, response) if raw: client_raw_response = ClientRawResponse(None, response) - header_dict = { + client_raw_response.add_headers({ 'Azure-AsyncOperation': 'str', 'Location': 'str', - } - client_raw_response.add_headers(header_dict) + }) return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - def delete( - self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes specified Machine Learning compute. + def system_update( + self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): + """System Update On Machine Learning compute. :param resource_group_name: Name of the resource group in which workspace is located. @@ -356,45 +328,55 @@ def delete( :param compute_name: Name of the Azure Machine Learning compute. :type compute_name: 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 if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse :raises: :class:`MachineLearningServiceErrorException` """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - workspace_name=workspace_name, - compute_name=compute_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - client_raw_response.add_headers({ - 'Azure-AsyncOperation': 'str', - 'Location': 'str', - }) - 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) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - - def get_keys( + # Construct URL + url = self.system_update.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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'computeName': self._serialize.url("compute_name", compute_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 = {} + 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 [202]: + raise models.MachineLearningServiceErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + }) + return client_raw_response + system_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} + + def list_keys( self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): """Gets secrets related to Machine Learning compute (storage keys, service credentials, etc). @@ -418,7 +400,7 @@ def get_keys( :class:`MachineLearningServiceErrorException` """ # Construct URL - url = self.get_keys.metadata['url'] + url = self.list_keys.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'), @@ -433,7 +415,7 @@ def get_keys( # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -442,8 +424,8 @@ def get_keys( 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) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + 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.MachineLearningServiceErrorException(self._deserialize, response) @@ -458,4 +440,4 @@ def get_keys( return client_raw_response return deserialized - get_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys'} + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys'} diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/operations.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/operations.py index af4a92381ced..d3de28914e7b 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/operations.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/operations.py @@ -68,7 +68,7 @@ def internal_paging(next_link=None, raw=False): # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -77,9 +77,8 @@ def internal_paging(next_link=None, raw=False): header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: raise models.MachineLearningServiceErrorException(self._deserialize, response) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/workspaces_operations.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/workspaces_operations.py index 4fa56210b279..eae707efcb11 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/workspaces_operations.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/workspaces_operations.py @@ -71,7 +71,7 @@ def get( # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -80,8 +80,8 @@ def get( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: raise models.MachineLearningServiceErrorException(self._deserialize, response) @@ -136,6 +136,7 @@ def create_or_update( # Construct headers header_parameters = {} + header_parameters['Accept'] = 'application/json' 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()) @@ -148,9 +149,8 @@ def create_or_update( body_content = self._serialize.body(parameters, 'Workspace') # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 201]: raise models.MachineLearningServiceErrorException(self._deserialize, response) @@ -203,7 +203,6 @@ def delete( # 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: @@ -212,8 +211,8 @@ def delete( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 204]: raise models.MachineLearningServiceErrorException(self._deserialize, response) @@ -262,6 +261,7 @@ def update( # Construct headers header_parameters = {} + header_parameters['Accept'] = 'application/json' 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()) @@ -274,9 +274,8 @@ def update( body_content = self._serialize.body(parameters, 'WorkspaceUpdateParameters') # Construct and send request - request = self._client.patch(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: raise models.MachineLearningServiceErrorException(self._deserialize, response) @@ -337,7 +336,7 @@ def internal_paging(next_link=None, raw=False): # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -346,9 +345,8 @@ def internal_paging(next_link=None, raw=False): header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: raise models.MachineLearningServiceErrorException(self._deserialize, response) @@ -404,7 +402,7 @@ def list_keys( # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -413,8 +411,8 @@ def list_keys( 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) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + 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.MachineLearningServiceErrorException(self._deserialize, response) @@ -467,7 +465,6 @@ def resync_keys( # 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: @@ -476,8 +473,8 @@ def resync_keys( 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) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + 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.MachineLearningServiceErrorException(self._deserialize, response) @@ -527,7 +524,7 @@ def internal_paging(next_link=None, raw=False): # Construct headers header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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: @@ -536,9 +533,8 @@ def internal_paging(next_link=None, raw=False): header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: raise models.MachineLearningServiceErrorException(self._deserialize, response) From e3cbe88f236b3f299c65da2aac0bc3361d86fea8 Mon Sep 17 00:00:00 2001 From: azuresdkci Date: Thu, 13 Sep 2018 01:40:24 +0000 Subject: [PATCH 2/5] Packaging update of azure-mgmt-machinelearningservices --- .../HISTORY.rst | 9 ++ .../MANIFEST.in | 2 + azure-mgmt-machinelearningservices/README.rst | 49 +++++++++++ .../azure/__init__.py | 1 + .../azure/mgmt/__init__.py | 1 + .../azure_bdist_wheel.py | 54 ++++++++++++ .../sdk_packaging.toml | 6 ++ azure-mgmt-machinelearningservices/setup.cfg | 3 + azure-mgmt-machinelearningservices/setup.py | 86 +++++++++++++++++++ 9 files changed, 211 insertions(+) create mode 100644 azure-mgmt-machinelearningservices/HISTORY.rst create mode 100644 azure-mgmt-machinelearningservices/MANIFEST.in create mode 100644 azure-mgmt-machinelearningservices/README.rst create mode 100644 azure-mgmt-machinelearningservices/azure/__init__.py create mode 100644 azure-mgmt-machinelearningservices/azure/mgmt/__init__.py create mode 100644 azure-mgmt-machinelearningservices/azure_bdist_wheel.py create mode 100644 azure-mgmt-machinelearningservices/sdk_packaging.toml create mode 100644 azure-mgmt-machinelearningservices/setup.cfg create mode 100644 azure-mgmt-machinelearningservices/setup.py diff --git a/azure-mgmt-machinelearningservices/HISTORY.rst b/azure-mgmt-machinelearningservices/HISTORY.rst new file mode 100644 index 000000000000..8924d5d6c445 --- /dev/null +++ b/azure-mgmt-machinelearningservices/HISTORY.rst @@ -0,0 +1,9 @@ +.. :changelog: + +Release History +=============== + +0.1.0 (1970-01-01) +++++++++++++++++++ + +* Initial Release diff --git a/azure-mgmt-machinelearningservices/MANIFEST.in b/azure-mgmt-machinelearningservices/MANIFEST.in new file mode 100644 index 000000000000..9ecaeb15de50 --- /dev/null +++ b/azure-mgmt-machinelearningservices/MANIFEST.in @@ -0,0 +1,2 @@ +include *.rst +include azure_bdist_wheel.py \ No newline at end of file diff --git a/azure-mgmt-machinelearningservices/README.rst b/azure-mgmt-machinelearningservices/README.rst new file mode 100644 index 000000000000..45de4e6b43dd --- /dev/null +++ b/azure-mgmt-machinelearningservices/README.rst @@ -0,0 +1,49 @@ +Microsoft Azure SDK for Python +============================== + +This is the Microsoft Azure MyService 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.4, 3.5, 3.6 and 3.7. + +For the older Azure Service Management (ASM) libraries, see +`azure-servicemanagement-legacy `__ library. + +For a more complete set of Azure libraries, see the `azure `__ bundle package. + + +Compatibility +============= + +**IMPORTANT**: If you have an earlier version of the azure package +(version < 1.0), you should uninstall it before installing this package. + +You can check the version using pip: + +.. code:: shell + + pip freeze + +If you see azure==0.11.0 (or any version below 1.0), uninstall it first: + +.. code:: shell + + pip uninstall azure + + +Usage +===== + +For code examples, see `MyService Management +`__ +on docs.microsoft.com. + + +Provide Feedback +================ + +If you encounter any bugs or have suggestions, please file an issue in the +`Issues `__ +section of the project. diff --git a/azure-mgmt-machinelearningservices/azure/__init__.py b/azure-mgmt-machinelearningservices/azure/__init__.py new file mode 100644 index 000000000000..de40ea7ca058 --- /dev/null +++ b/azure-mgmt-machinelearningservices/azure/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/__init__.py b/azure-mgmt-machinelearningservices/azure/mgmt/__init__.py new file mode 100644 index 000000000000..de40ea7ca058 --- /dev/null +++ b/azure-mgmt-machinelearningservices/azure/mgmt/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/azure-mgmt-machinelearningservices/azure_bdist_wheel.py b/azure-mgmt-machinelearningservices/azure_bdist_wheel.py new file mode 100644 index 000000000000..8a81d1b61775 --- /dev/null +++ b/azure-mgmt-machinelearningservices/azure_bdist_wheel.py @@ -0,0 +1,54 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +from distutils import log as logger +import os.path + +from wheel.bdist_wheel import bdist_wheel +class azure_bdist_wheel(bdist_wheel): + """The purpose of this class is to build wheel a little differently than the sdist, + without requiring to build the wheel from the sdist (i.e. you can build the wheel + directly from source). + """ + + description = "Create an Azure wheel distribution" + + user_options = bdist_wheel.user_options + \ + [('azure-namespace-package=', None, + "Name of the deepest nspkg used")] + + def initialize_options(self): + bdist_wheel.initialize_options(self) + self.azure_namespace_package = None + + def finalize_options(self): + bdist_wheel.finalize_options(self) + if self.azure_namespace_package and not self.azure_namespace_package.endswith("-nspkg"): + raise ValueError("azure_namespace_package must finish by -nspkg") + + def run(self): + if not self.distribution.install_requires: + self.distribution.install_requires = [] + self.distribution.install_requires.append( + "{}>=2.0.0".format(self.azure_namespace_package)) + bdist_wheel.run(self) + + def write_record(self, bdist_dir, distinfo_dir): + if self.azure_namespace_package: + # Split and remove last part, assuming it's "nspkg" + subparts = self.azure_namespace_package.split('-')[0:-1] + folder_with_init = [os.path.join(*subparts[0:i+1]) for i in range(len(subparts))] + for azure_sub_package in folder_with_init: + init_file = os.path.join(bdist_dir, azure_sub_package, '__init__.py') + if os.path.isfile(init_file): + logger.info("manually remove {} while building the wheel".format(init_file)) + os.remove(init_file) + else: + raise ValueError("Unable to find {}. Are you sure of your namespace package?".format(init_file)) + bdist_wheel.write_record(self, bdist_dir, distinfo_dir) +cmdclass = { + 'bdist_wheel': azure_bdist_wheel, +} diff --git a/azure-mgmt-machinelearningservices/sdk_packaging.toml b/azure-mgmt-machinelearningservices/sdk_packaging.toml new file mode 100644 index 000000000000..42a8f90bd7e2 --- /dev/null +++ b/azure-mgmt-machinelearningservices/sdk_packaging.toml @@ -0,0 +1,6 @@ +[packaging] +package_name = "azure-mgmt-machinelearningservices" +package_pprint_name = "MyService Management" +package_doc_id = "" +is_stable = false +is_arm = true diff --git a/azure-mgmt-machinelearningservices/setup.cfg b/azure-mgmt-machinelearningservices/setup.cfg new file mode 100644 index 000000000000..856f4164982c --- /dev/null +++ b/azure-mgmt-machinelearningservices/setup.cfg @@ -0,0 +1,3 @@ +[bdist_wheel] +universal=1 +azure-namespace-package=azure-mgmt-nspkg \ No newline at end of file diff --git a/azure-mgmt-machinelearningservices/setup.py b/azure-mgmt-machinelearningservices/setup.py new file mode 100644 index 000000000000..1d9d1aef5068 --- /dev/null +++ b/azure-mgmt-machinelearningservices/setup.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python + +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +import re +import os.path +from io import open +from setuptools import find_packages, setup +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + cmdclass = {} + +# Change the PACKAGE_NAME only to change folder and different name +PACKAGE_NAME = "azure-mgmt-machinelearningservices" +PACKAGE_PPRINT_NAME = "MyService Management" + +# a-b-c => a/b/c +package_folder_path = PACKAGE_NAME.replace('-', '/') +# a-b-c => a.b.c +namespace_name = PACKAGE_NAME.replace('-', '.') + +# azure v0.x is not compatible with this package +# azure v0.x used to have a __version__ attribute (newer versions don't) +try: + import azure + try: + ver = azure.__version__ + raise Exception( + 'This package is incompatible with azure=={}. '.format(ver) + + 'Uninstall it with "pip uninstall azure".' + ) + except AttributeError: + pass +except ImportError: + pass + +# Version extraction inspired from 'requests' +with open(os.path.join(package_folder_path, 'version.py'), 'r') as fd: + version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', + fd.read(), re.MULTILINE).group(1) + +if not version: + raise RuntimeError('Cannot find version information') + +with open('README.rst', encoding='utf-8') as f: + readme = f.read() +with open('HISTORY.rst', encoding='utf-8') as f: + history = f.read() + +setup( + name=PACKAGE_NAME, + version=version, + description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME), + long_description=readme + '\n\n' + history, + license='MIT License', + author='Microsoft Corporation', + author_email='azpysdkhelp@microsoft.com', + url='https://github.com/Azure/azure-sdk-for-python', + classifiers=[ + 'Development Status :: 4 - Beta', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'License :: OSI Approved :: MIT License', + ], + zip_safe=False, + packages=find_packages(exclude=["tests"]), + install_requires=[ + 'msrest>=0.5.0', + 'msrestazure>=0.4.32,<2.0.0', + 'azure-common~=1.1', + ], + cmdclass=cmdclass +) From a6b63425cd77cd427ae2051056f5c321d33090dd Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Thu, 13 Sep 2018 16:51:42 +0000 Subject: [PATCH 3/5] Generated from 4591722b279f1148b3c6b3e2307a07f4843b4929 added long-running op update accordingly --- .../machine_learning_compute_operations.py | 214 +++++++++++++----- 1 file changed, 161 insertions(+), 53 deletions(-) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py index 9cad81d9204d..af0af15ccc9e 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/machine_learning_compute_operations.py @@ -11,6 +11,8 @@ import uuid from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -177,33 +179,9 @@ def get( return deserialized get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - def create_or_update( - self, resource_group_name, workspace_name, compute_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates or updates compute. This call will overwrite a compute if it - exists. This is a nonrecoverable operation. If your intent is to create - a new compute, do a GET first to verify that it does not exist yet. - :param resource_group_name: Name of the resource group in which - workspace is located. - :type resource_group_name: str - :param workspace_name: Name of Azure Machine Learning workspace. - :type workspace_name: str - :param compute_name: Name of the Azure Machine Learning compute. - :type compute_name: str - :param parameters: Payload with Machine Learning compute definition. - :type parameters: - ~azure.mgmt.machinelearningservices.models.ComputeResource - :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`. - :return: ComputeResource or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.machinelearningservices.models.ComputeResource or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`MachineLearningServiceErrorException` - """ + def _create_or_update_initial( + self, resource_group_name, workspace_name, compute_name, parameters, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { @@ -236,12 +214,17 @@ def create_or_update( request = self._client.put(url, query_parameters, header_parameters, body_content) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [201]: + if response.status_code not in [200, 201]: raise models.MachineLearningServiceErrorException(self._deserialize, response) deserialized = None header_dict = {} + if response.status_code == 200: + deserialized = self._deserialize('ComputeResource', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } if response.status_code == 201: deserialized = self._deserialize('ComputeResource', response) header_dict = { @@ -254,11 +237,12 @@ def create_or_update( return client_raw_response return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - def delete( - self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): - """Deletes specified Machine Learning compute. + def create_or_update( + self, resource_group_name, workspace_name, compute_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates compute. This call will overwrite a compute if it + exists. This is a nonrecoverable operation. If your intent is to create + a new compute, do a GET first to verify that it does not exist yet. :param resource_group_name: Name of the resource group in which workspace is located. @@ -267,16 +251,58 @@ def delete( :type workspace_name: str :param compute_name: Name of the Azure Machine Learning compute. :type compute_name: str + :param parameters: Payload with Machine Learning compute definition. + :type parameters: + ~azure.mgmt.machinelearningservices.models.ComputeResource :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`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse + :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 ComputeResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.machinelearningservices.models.ComputeResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.machinelearningservices.models.ComputeResource]] :raises: :class:`MachineLearningServiceErrorException` """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + compute_name=compute_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Azure-AsyncOperation': 'str', + } + deserialized = self._deserialize('ComputeResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + 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) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} + + + def _delete_initial( + self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.delete.metadata['url'] path_format_arguments = { @@ -304,21 +330,21 @@ def delete( request = self._client.delete(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [202]: + if response.status_code not in [200, 202]: raise models.MachineLearningServiceErrorException(self._deserialize, response) if raw: client_raw_response = ClientRawResponse(None, response) - client_raw_response.add_headers({ + header_dict = { 'Azure-AsyncOperation': 'str', 'Location': 'str', - }) + } + client_raw_response.add_headers(header_dict) return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} - def system_update( - self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): - """System Update On Machine Learning compute. + def delete( + self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes specified Machine Learning compute. :param resource_group_name: Name of the resource group in which workspace is located. @@ -328,15 +354,47 @@ def system_update( :param compute_name: Name of the Azure Machine Learning compute. :type compute_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`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse + :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 if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`MachineLearningServiceErrorException` """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + compute_name=compute_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + }) + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} + + + def _system_update_initial( + self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.system_update.metadata['url'] path_format_arguments = { @@ -364,16 +422,66 @@ def system_update( request = self._client.post(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [202]: + if response.status_code not in [200, 202]: raise models.MachineLearningServiceErrorException(self._deserialize, response) if raw: client_raw_response = ClientRawResponse(None, response) - client_raw_response.add_headers({ + header_dict = { 'Azure-AsyncOperation': 'str', 'Location': 'str', - }) + } + client_raw_response.add_headers(header_dict) return client_raw_response + + def system_update( + self, resource_group_name, workspace_name, compute_name, custom_headers=None, raw=False, polling=True, **operation_config): + """System Update On Machine Learning compute. + + :param resource_group_name: Name of the resource group in which + workspace is located. + :type resource_group_name: str + :param workspace_name: Name of Azure Machine Learning workspace. + :type workspace_name: str + :param compute_name: Name of the Azure Machine Learning compute. + :type compute_name: 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 if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`MachineLearningServiceErrorException` + """ + raw_result = self._system_update_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + compute_name=compute_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + }) + 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) system_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}'} def list_keys( From 08162d713bcb4bb2f31686e4f4f189330d015728 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Fri, 14 Sep 2018 21:24:28 +0000 Subject: [PATCH 4/5] Generated from b8420a388d27fe9089e179f0d9b6bd126f43ad60 remote wrong readOnly --- .../models/hd_insight_properties.py | 13 +++---------- .../models/hd_insight_properties_py3.py | 15 ++++----------- .../models/virtual_machine_properties.py | 13 +++---------- .../models/virtual_machine_properties_py3.py | 15 ++++----------- 4 files changed, 14 insertions(+), 42 deletions(-) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py index c90a45c0473f..d463d743423c 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties.py @@ -15,24 +15,17 @@ class HDInsightProperties(Model): """HDInsightProperties. - Variables are only populated by the server, and will be ignored when - sending a request. - :param ssh_port: Port open for ssh connections on the master node of the cluster. :type ssh_port: int - :ivar address: Public IP address of the master node of the cluster. - :vartype address: str + :param address: Public IP address of the master node of the cluster. + :type address: str :param administrator_account: Admin credentials for master node of the cluster :type administrator_account: ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials """ - _validation = { - 'address': {'readonly': True}, - } - _attribute_map = { 'ssh_port': {'key': 'sshPort', 'type': 'int'}, 'address': {'key': 'address', 'type': 'str'}, @@ -42,5 +35,5 @@ class HDInsightProperties(Model): def __init__(self, **kwargs): super(HDInsightProperties, self).__init__(**kwargs) self.ssh_port = kwargs.get('ssh_port', None) - self.address = None + self.address = kwargs.get('address', None) self.administrator_account = kwargs.get('administrator_account', None) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py index 1ad05d8eaf37..261b347410f0 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/hd_insight_properties_py3.py @@ -15,32 +15,25 @@ class HDInsightProperties(Model): """HDInsightProperties. - Variables are only populated by the server, and will be ignored when - sending a request. - :param ssh_port: Port open for ssh connections on the master node of the cluster. :type ssh_port: int - :ivar address: Public IP address of the master node of the cluster. - :vartype address: str + :param address: Public IP address of the master node of the cluster. + :type address: str :param administrator_account: Admin credentials for master node of the cluster :type administrator_account: ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials """ - _validation = { - 'address': {'readonly': True}, - } - _attribute_map = { 'ssh_port': {'key': 'sshPort', 'type': 'int'}, 'address': {'key': 'address', 'type': 'str'}, 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'}, } - def __init__(self, *, ssh_port: int=None, administrator_account=None, **kwargs) -> None: + def __init__(self, *, ssh_port: int=None, address: str=None, administrator_account=None, **kwargs) -> None: super(HDInsightProperties, self).__init__(**kwargs) self.ssh_port = ssh_port - self.address = None + self.address = address self.administrator_account = administrator_account diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py index cf3a00a35993..caaffa670ad1 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties.py @@ -15,24 +15,17 @@ class VirtualMachineProperties(Model): """VirtualMachineProperties. - Variables are only populated by the server, and will be ignored when - sending a request. - :param virtual_machine_size: Virtual Machine size :type virtual_machine_size: str :param ssh_port: Port open for ssh connections. :type ssh_port: int - :ivar address: Public IP address of the virtual machine. - :vartype address: str + :param address: Public IP address of the virtual machine. + :type address: str :param administrator_account: Admin credentials for virtual machine :type administrator_account: ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials """ - _validation = { - 'address': {'readonly': True}, - } - _attribute_map = { 'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'}, 'ssh_port': {'key': 'sshPort', 'type': 'int'}, @@ -44,5 +37,5 @@ def __init__(self, **kwargs): super(VirtualMachineProperties, self).__init__(**kwargs) self.virtual_machine_size = kwargs.get('virtual_machine_size', None) self.ssh_port = kwargs.get('ssh_port', None) - self.address = None + self.address = kwargs.get('address', None) self.administrator_account = kwargs.get('administrator_account', None) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py index 22a0f6605664..bd21b20d593d 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/virtual_machine_properties_py3.py @@ -15,24 +15,17 @@ class VirtualMachineProperties(Model): """VirtualMachineProperties. - Variables are only populated by the server, and will be ignored when - sending a request. - :param virtual_machine_size: Virtual Machine size :type virtual_machine_size: str :param ssh_port: Port open for ssh connections. :type ssh_port: int - :ivar address: Public IP address of the virtual machine. - :vartype address: str + :param address: Public IP address of the virtual machine. + :type address: str :param administrator_account: Admin credentials for virtual machine :type administrator_account: ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials """ - _validation = { - 'address': {'readonly': True}, - } - _attribute_map = { 'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'}, 'ssh_port': {'key': 'sshPort', 'type': 'int'}, @@ -40,9 +33,9 @@ class VirtualMachineProperties(Model): 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'}, } - def __init__(self, *, virtual_machine_size: str=None, ssh_port: int=None, administrator_account=None, **kwargs) -> None: + def __init__(self, *, virtual_machine_size: str=None, ssh_port: int=None, address: str=None, administrator_account=None, **kwargs) -> None: super(VirtualMachineProperties, self).__init__(**kwargs) self.virtual_machine_size = virtual_machine_size self.ssh_port = ssh_port - self.address = None + self.address = address self.administrator_account = administrator_account From d553ab2c65df3d6836abc44d1e5214aa47136911 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Wed, 19 Sep 2018 20:39:03 +0000 Subject: [PATCH 5/5] Generated from b8420a388d27fe9089e179f0d9b6bd126f43ad60 remote wrong readOnly --- .../azure/mgmt/machinelearningservices/models/workspace.py | 5 +++++ .../mgmt/machinelearningservices/models/workspace_py3.py | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace.py index b8a2845ffeff..b6825cde06df 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace.py @@ -40,6 +40,9 @@ class Workspace(Resource): :ivar creation_time: The creation time of the machine learning workspace in ISO8601 format. :vartype creation_time: datetime + :param batchai_workspace: ARM id of the Batch AI workspace associated with + this workspace. This cannot be changed once the workspace has been created + :type batchai_workspace: str :param key_vault: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created :type key_vault: str @@ -86,6 +89,7 @@ class Workspace(Resource): 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'batchai_workspace': {'key': 'properties.batchaiWorkspace', 'type': 'str'}, 'key_vault': {'key': 'properties.keyVault', 'type': 'str'}, 'application_insights': {'key': 'properties.applicationInsights', 'type': 'str'}, 'container_registry': {'key': 'properties.containerRegistry', 'type': 'str'}, @@ -100,6 +104,7 @@ def __init__(self, **kwargs): self.description = kwargs.get('description', None) self.friendly_name = kwargs.get('friendly_name', None) self.creation_time = None + self.batchai_workspace = kwargs.get('batchai_workspace', None) self.key_vault = kwargs.get('key_vault', None) self.application_insights = kwargs.get('application_insights', None) self.container_registry = kwargs.get('container_registry', None) diff --git a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace_py3.py b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace_py3.py index ddad88bd1195..66c8edfd9657 100644 --- a/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace_py3.py +++ b/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/workspace_py3.py @@ -40,6 +40,9 @@ class Workspace(Resource): :ivar creation_time: The creation time of the machine learning workspace in ISO8601 format. :vartype creation_time: datetime + :param batchai_workspace: ARM id of the Batch AI workspace associated with + this workspace. This cannot be changed once the workspace has been created + :type batchai_workspace: str :param key_vault: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created :type key_vault: str @@ -86,6 +89,7 @@ class Workspace(Resource): 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'batchai_workspace': {'key': 'properties.batchaiWorkspace', 'type': 'str'}, 'key_vault': {'key': 'properties.keyVault', 'type': 'str'}, 'application_insights': {'key': 'properties.applicationInsights', 'type': 'str'}, 'container_registry': {'key': 'properties.containerRegistry', 'type': 'str'}, @@ -94,12 +98,13 @@ class Workspace(Resource): 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } - def __init__(self, *, location: str=None, tags=None, description: str=None, friendly_name: str=None, key_vault: str=None, application_insights: str=None, container_registry: str=None, storage_account: str=None, discovery_url: str=None, **kwargs) -> None: + def __init__(self, *, location: str=None, tags=None, description: str=None, friendly_name: str=None, batchai_workspace: str=None, key_vault: str=None, application_insights: str=None, container_registry: str=None, storage_account: str=None, discovery_url: str=None, **kwargs) -> None: super(Workspace, self).__init__(location=location, tags=tags, **kwargs) self.workspace_id = None self.description = description self.friendly_name = friendly_name self.creation_time = None + self.batchai_workspace = batchai_workspace self.key_vault = key_vault self.application_insights = application_insights self.container_registry = container_registry