diff --git a/azure-cli.pyproj b/azure-cli.pyproj index 729ddbf4a..3541027ad 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -61,6 +61,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -197,6 +238,19 @@ + + + + + + + + + + + + + @@ -212,6 +266,50 @@ PYTHONPATH X86 + + {153669af-0334-46c7-a6f1-029c48dc84d1} + {2af0f10d-7135-4994-9156-5d01c9c11b7e} + 2.7 + env27AppInsights (Python 2.7) + Scripts\python.exe + Scripts\pythonw.exe + Lib\ + PYTHONPATH + X86 + + + {83c20e12-84e3-4c10-a1ba-466d2b57483d} + {2af0f10d-7135-4994-9156-5d01c9c11b7e} + 2.7 + env27b (Python 2.7) + Scripts\python.exe + Scripts\pythonw.exe + Lib\ + PYTHONPATH + X86 + + + {12627503-1b89-4332-94a5-8ddd298e66ac} + {2af0f10d-7135-4994-9156-5d01c9c11b7e} + 3.5 + env35AppInsights (Python 3.5) + Scripts\python.exe + Scripts\pythonw.exe + Lib\ + PYTHONPATH + X86 + + + {4ae3497d-f45c-4ec2-9e26-57476ef276a0} + {2af0f10d-7135-4994-9156-5d01c9c11b7e} + 3.5 + env35d (Python 3.5) + Scripts\python.exe + Scripts\pythonw.exe + Lib\ + PYTHONPATH + X86 + @@ -222,6 +320,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py index 86efddfa4..c8463eeaa 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/generated.py @@ -16,10 +16,15 @@ from azure.cli.commands._command_creation import get_mgmt_service_client from azure.cli.commands._auto_command import build_operation, AutoCommandDefinition from azure.cli.commands import CommandTable, LongRunningOperation from azure.cli._locale import L -from azure.cli.command_modules.vm.mgmt.lib import (VMCreationClient as VMClient, - VMCreationClientConfiguration - as VMClientConfig) -from azure.cli.command_modules.vm.mgmt.lib.operations import VMOperations +from azure.cli.command_modules.vm.mgmt_avail_set.lib import (AvailSetCreationClient + as AvailSetClient, + AvailSetCreationClientConfiguration + as AvailSetClientConfig) +from azure.cli.command_modules.vm.mgmt_avail_set.lib.operations import AvailSetOperations +from azure.cli.command_modules.vm.mgmt_vm_create.lib import (VMCreationClient as VMClient, + VMCreationClientConfiguration + as VMClientConfig) +from azure.cli.command_modules.vm.mgmt_vm_create.lib.operations import VMOperations from azure.cli._help_files import helps from ._params import PARAMETER_ALIASES @@ -293,3 +298,25 @@ build_operation("vm image", 'image_location' : {'name': '--location -l', 'help': 'Image location'} })) +avail_set_param_aliases = { + 'name': { + 'name': '--name -n' + } + } + +helps['vm availability-set create'] = """ + type: command + long-summary: For more info, see https://blogs.technet.microsoft.com/yungchou/2013/05/14/window-azure-fault-domain-and-upgrade-domain-explained-explained-reprised/ +""" + +build_operation("vm availability-set", + 'avail_set', + lambda _: get_mgmt_service_client(AvailSetClient, AvailSetClientConfig), + [ + AutoCommandDefinition(AvailSetOperations.create_or_update, + LongRunningOperation(L('Creating availability set'), L('Availability set created')), + 'create') + ], + command_table, + avail_set_param_aliases) + diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/__init__.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/__init__.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/__init__.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/azuredeploy.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/azuredeploy.json new file mode 100644 index 000000000..5e98ddcd7 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/azuredeploy.json @@ -0,0 +1,54 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "name": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Name of the availability set." + } + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]", + "metadata": { + "description": "Location to deploy the availability set." + } + }, + "platformUpdateDomainCount": { + "type": "string", + "defaultValue": 1, + "metadata": { + "description": "Number of Update Domains." + } + }, + "platformFaultDomainCount": { + "type": "string", + "defaultValue": 1, + "metadata": { + "description": "Number of Fault Domains." + } + } + }, + "variables": { + }, + "resources": [ + { + "name": "[parameters('name')]", + "type": "Microsoft.Compute/availabilitySets", + "location": "[parameters('location')]", + "apiVersion": "2015-06-15", + "dependsOn": [ ], + "tags": { + "displayName": "AvailabilitySet" + }, + "properties": { + "platformUpdateDomainCount": "[parameters('platformUpdateDomainCount')]", + "platformFaultDomainCount": "[parameters('platformFaultDomainCount')]" + } + } + ], + "outputs": { + } +} diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/__init__.py new file mode 100644 index 000000000..f6a77d0d8 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/__init__.py @@ -0,0 +1,18 @@ +#pylint: skip-file +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .avail_set_creation_client import AvailSetCreationClient, AvailSetCreationClientConfiguration +from .version import VERSION + +__all__ = [ + 'AvailSetCreationClient', + 'AvailSetCreationClientConfiguration' +] + +__version__ = VERSION + diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/avail_set_creation_client.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/avail_set_creation_client.py new file mode 100644 index 000000000..803984f53 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/avail_set_creation_client.py @@ -0,0 +1,94 @@ +#pylint: skip-file +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import ServiceClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.avail_set_operations import AvailSetOperations +from . import models + + +class AvailSetCreationClientConfiguration(AzureConfiguration): + """Configuration for AvailSetCreationClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Gets Azure subscription credentials. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Gets subscription credentials which uniquely + identify Microsoft Azure subscription. The subscription ID forms part of + the URI for every service call. + :type subscription_id: str + :param api_version: Client Api Version. + :type api_version: str + :param accept_language: Gets or sets the preferred language for the + response. + :type accept_language: str + :param long_running_operation_retry_timeout: Gets or sets the retry + timeout in seconds for Long Running Operations. Default value is 30. + :type long_running_operation_retry_timeout: int + :param generate_client_request_id: When set to true a unique + x-ms-client-request-id value is generated and included in each request. + Default is true. + :type generate_client_request_id: bool + :param str base_url: Service URL + :param str filepath: Existing config + """ + + def __init__( + self, credentials, subscription_id, api_version='2015-11-01', accept_language='en-US', long_running_operation_retry_timeout=30, generate_client_request_id=True, base_url=None, filepath=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not isinstance(subscription_id, str): + raise TypeError("Parameter 'subscription_id' must be str.") + if api_version is not None and not isinstance(api_version, str): + raise TypeError("Optional parameter 'api_version' must be str.") + if accept_language is not None and not isinstance(accept_language, str): + raise TypeError("Optional parameter 'accept_language' must be str.") + if not base_url: + base_url = 'https://management.azure.com' + + super(AvailSetCreationClientConfiguration, self).__init__(base_url, filepath) + + self.add_user_agent('availsetcreationclient/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + self.api_version = api_version + self.accept_language = accept_language + self.long_running_operation_retry_timeout = long_running_operation_retry_timeout + self.generate_client_request_id = generate_client_request_id + + +class AvailSetCreationClient(object): + """AvailSetCreationClient + + :param config: Configuration for client. + :type config: AvailSetCreationClientConfiguration + + :ivar avail_set: AvailSet operations + :vartype avail_set: .operations.AvailSetOperations + """ + + def __init__(self, config): + + self._client = ServiceClient(config.credentials, config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer() + self._deserialize = Deserializer(client_models) + + self.config = config + self.avail_set = AvailSetOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/credentials.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/credentials.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/credentials.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/credentials.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/exceptions.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/exceptions.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/exceptions.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/exceptions.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/__init__.py new file mode 100644 index 000000000..4b5f65240 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/__init__.py @@ -0,0 +1,33 @@ +#pylint: skip-file +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .deployment_avail_set import DeploymentAvailSet +from .template_link import TemplateLink +from .parameters_link import ParametersLink +from .provider_resource_type import ProviderResourceType +from .provider import Provider +from .basic_dependency import BasicDependency +from .dependency import Dependency +from .deployment_properties_extended import DeploymentPropertiesExtended +from .deployment_extended import DeploymentExtended +from .avail_set_creation_client_enums import ( + DeploymentMode, +) + +__all__ = [ + 'DeploymentAvailSet', + 'TemplateLink', + 'ParametersLink', + 'ProviderResourceType', + 'Provider', + 'BasicDependency', + 'Dependency', + 'DeploymentPropertiesExtended', + 'DeploymentExtended', + 'DeploymentMode', +] diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/vm_creation_client_enums.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/avail_set_creation_client_enums.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/vm_creation_client_enums.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/avail_set_creation_client_enums.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/basic_dependency.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/basic_dependency.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/basic_dependency.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/basic_dependency.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/dependency.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/dependency.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/dependency.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/dependency.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/deployment_avail_set.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/deployment_avail_set.py new file mode 100644 index 000000000..f9bbcd43a --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/deployment_avail_set.py @@ -0,0 +1,67 @@ +#pylint: skip-file +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DeploymentAvailSet(Model): + """ + Deployment operation parameters. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar uri: URI referencing the template. Default value: + "https://azuresdkci.blob.core.windows.net/templatehost/CreateAvailSet/azuredeploy.json" + . + :vartype uri: str + :param content_version: If included it must match the ContentVersion in + the template. + :type content_version: str + :param location: Location to deploy the availability set. Default value: + "[resourceGroup().location]" . + :type location: str + :param name: Name of the availability set. + :type name: str + :param platform_fault_domain_count: Number of Fault Domains. Default + value: "1" . + :type platform_fault_domain_count: str + :param platform_update_domain_count: Number of Update Domains. Default + value: "1" . + :type platform_update_domain_count: str + :ivar mode: Gets or sets the deployment mode. Default value: + "Incremental" . + :vartype mode: str + """ + + _validation = { + 'uri': {'required': True, 'constant': True}, + 'name': {'required': True}, + 'mode': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'uri': {'key': 'properties.templateLink.uri', 'type': 'str'}, + 'content_version': {'key': 'properties.templateLink.contentVersion', 'type': 'str'}, + 'location': {'key': 'properties.parameters.location.value', 'type': 'str'}, + 'name': {'key': 'properties.parameters.name.value', 'type': 'str'}, + 'platform_fault_domain_count': {'key': 'properties.parameters.platformFaultDomainCount.value', 'type': 'str'}, + 'platform_update_domain_count': {'key': 'properties.parameters.platformUpdateDomainCount.value', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + } + + uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateAvailSet/azuredeploy.json" + + mode = "Incremental" + + def __init__(self, name, content_version=None, location="[resourceGroup().location]", platform_fault_domain_count="1", platform_update_domain_count="1"): + self.content_version = content_version + self.location = location + self.name = name + self.platform_fault_domain_count = platform_fault_domain_count + self.platform_update_domain_count = platform_update_domain_count diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_extended.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/deployment_extended.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_extended.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/deployment_extended.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_properties_extended.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/deployment_properties_extended.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_properties_extended.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/deployment_properties_extended.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/parameters_link.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/parameters_link.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/parameters_link.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/parameters_link.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/provider.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/provider.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/provider.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/provider.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/provider_resource_type.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/provider_resource_type.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/provider_resource_type.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/provider_resource_type.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/template_link.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/template_link.py new file mode 100644 index 000000000..cedae7236 --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/models/template_link.py @@ -0,0 +1,40 @@ +#pylint: skip-file +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TemplateLink(Model): + """ + Entity representing the reference to the template. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar uri: URI referencing the template. Default value: + "https://azuresdkci.blob.core.windows.net/templatehost/CreateAvailSet/azuredeploy.json" + . + :vartype uri: str + :param content_version: If included it must match the ContentVersion in + the template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateAvailSet/azuredeploy.json" + + def __init__(self, content_version=None): + self.content_version = content_version diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/operations/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/operations/__init__.py new file mode 100644 index 000000000..58fc8762c --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/operations/__init__.py @@ -0,0 +1,13 @@ +#pylint: skip-file +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .avail_set_operations import AvailSetOperations + +__all__ = [ + 'AvailSetOperations', +] diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/operations/avail_set_operations.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/operations/avail_set_operations.py new file mode 100644 index 000000000..f33babc9a --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/operations/avail_set_operations.py @@ -0,0 +1,136 @@ +#pylint: skip-file +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrestazure.azure_operation import AzureOperationPoller +import uuid + +from .. import models + + +class AvailSetOperations(object): + """AvailSetOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An objec model deserializer. + """ + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + def create_or_update( + self, resource_group_name, deployment_name, name, content_version=None, location="[resourceGroup().location]", platform_fault_domain_count="1", platform_update_domain_count="1", custom_headers={}, raw=False, **operation_config): + """ + Create or update a virtual machine. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param name: Name of the availability set. + :type name: str + :param content_version: If included it must match the ContentVersion + in the template. + :type content_version: str + :param location: Location to deploy the availability set. + :type location: str + :param platform_fault_domain_count: Number of Fault Domains. + :type platform_fault_domain_count: str + :param platform_update_domain_count: Number of Update Domains. + :type platform_update_domain_count: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :rtype: + :class:`AzureOperationPoller` + instance that returns :class:`DeploymentExtended + ` + :rtype: :class:`ClientRawResponse` + if raw=true + """ + parameters = models.DeploymentAvailSet(content_version=content_version, location=location, name=name, platform_fault_domain_count=platform_fault_domain_count, platform_update_domain_count=platform_update_domain_count) + + # Construct URL + url = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}' + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.config.api_version", self.config.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'DeploymentAvailSet') + + # Construct and send request + def long_running_send(): + + request = self._client.put(url, query_parameters) + return self._client.send( + request, header_parameters, body_content, **operation_config) + + def get_long_running_status(status_link, headers={}): + + request = self._client.get(status_link) + request.headers.update(headers) + return self._client.send( + request, header_parameters, **operation_config) + + def get_long_running_output(response): + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + if raw: + response = long_running_send() + return get_long_running_output(response) + + long_running_operation_timeout = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + return AzureOperationPoller( + long_running_send, get_long_running_output, + get_long_running_status, long_running_operation_timeout) diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/version.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/version.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/version.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/lib/version.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/swagger_create_avail_set.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/swagger_create_avail_set.json new file mode 100644 index 000000000..5ef91e4ce --- /dev/null +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_avail_set/swagger_create_avail_set.json @@ -0,0 +1,446 @@ +{ + "swagger": "2.0", + "info": { + "title": "AvailSetCreationClient", + "version": "2015-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "put": { + "tags": [ + "AvailSet" + ], + "operationId": "AvailSet_CreateOrUpdate", + "description": "Create or update a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._]+$", + "minLength": 1, + "maxLength": 64 + }, + { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deployment.", + "pattern": "^[-\\w\\._]+$", + "minLength": 1, + "maxLength": 64 + }, + { + "name": "parameters", + "x-ms-client-flatten": true, + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment_AvailSet" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Deployment_AvailSet": { + "properties": { + "properties": { + "$ref": "#/definitions/DeploymentProperties_AvailSet", + "description": "Gets or sets the deployment properties.", + "x-ms-client-flatten": true + } + }, + "description": "Deployment operation parameters." + }, + "DeploymentProperties_AvailSet": { + "properties": { + "templateLink": { + "$ref": "#/definitions/TemplateLink", + "description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink.", + "x-ms-client-flatten": true + }, + "parameters": { + "$ref": "#/definitions/AvailSetParameters", + "type": "object", + "description": "Deployment parameters. Use only one of Parameters or ParametersLink.", + "x-ms-client-flatten": true + }, + "mode": { + "type": "string", + "description": "Gets or sets the deployment mode.", + "enum": [ + "Incremental" + ], + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": false + } + } + }, + "required": [ + "templateLink", + "parameters", + "mode" + ], + "description": "Deployment properties." + }, + "TemplateLink": { + "properties": { + "uri": { + "type": "string", + "description": "URI referencing the template.", + "enum": [ + "https://azuresdkci.blob.core.windows.net/templatehost/CreateAvailSet/azuredeploy.json" + ] + }, + "contentVersion": { + "type": "string", + "description": "If included it must match the ContentVersion in the template." + } + }, + "required": [ + "uri" + ], + "description": "Entity representing the reference to the template." + }, + "AvailSetParameters": { + +"properties": { + "location": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_location", + "x-ms-client-flatten": true + }, + "name": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_name", + "x-ms-client-flatten": true + }, + "platformFaultDomainCount": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_platformFaultDomainCount", + "x-ms-client-flatten": true + }, + "platformUpdateDomainCount": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_platformUpdateDomainCount", + "x-ms-client-flatten": true + } +} +, + "required": [ + "name" + ] + + }, + "DeploymentParameter_location": { + "properties": { + "value": { + "type": "string", + "description": "Location to deploy the availability set.", + "x-ms-client-name": "location", + "default": "[resourceGroup().location]" + } + } +}, +"DeploymentParameter_name": { + "properties": { + "value": { + "type": "string", + "description": "Name of the availability set.", + "x-ms-client-name": "name" + } + }, + "required": [ + "value" + ] + +}, +"DeploymentParameter_platformFaultDomainCount": { + "properties": { + "value": { + "type": "string", + "description": "Number of Fault Domains.", + "x-ms-client-name": "platformFaultDomainCount", + "default": "1" + } + } +}, +"DeploymentParameter_platformUpdateDomainCount": { + "properties": { + "value": { + "type": "string", + "description": "Number of Update Domains.", + "x-ms-client-name": "platformUpdateDomainCount", + "default": "1" + } + } +}, + "ParametersLink": { + "properties": { + "uri": { + "type": "string", + "description": "URI referencing the template." + }, + "contentVersion": { + "type": "string", + "description": "If included it must match the ContentVersion in the template." + } + }, + "required": [ + "uri" + ], + "description": "Entity representing the reference to the deployment paramaters." + }, + "ProviderResourceType": { + "properties": { + "resourceType": { + "type": "string", + "description": "Gets or sets the resource type." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets or sets the collection of locations where this resource type can be created in." + }, + "apiVersions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets or sets the api version." + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the properties." + } + }, + "description": "Resource type managed by the resource provider." + }, + "Provider": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the provider id." + }, + "namespace": { + "type": "string", + "description": "Gets or sets the namespace of the provider." + }, + "registrationState": { + "type": "string", + "description": "Gets or sets the registration state of the provider." + }, + "resourceTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/ProviderResourceType" + }, + "description": "Gets or sets the collection of provider resource types." + } + }, + "description": "Resource provider information." + }, + "BasicDependency": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the ID of the dependency." + }, + "resourceType": { + "type": "string", + "description": "Gets or sets the dependency resource type." + }, + "resourceName": { + "type": "string", + "description": "Gets or sets the dependency resource name." + } + }, + "description": "Deployment dependency information." + }, + "Dependency": { + "properties": { + "dependsOn": { + "type": "array", + "items": { + "$ref": "#/definitions/BasicDependency" + }, + "description": "Gets the list of dependencies." + }, + "id": { + "type": "string", + "description": "Gets or sets the ID of the dependency." + }, + "resourceType": { + "type": "string", + "description": "Gets or sets the dependency resource type." + }, + "resourceName": { + "type": "string", + "description": "Gets or sets the dependency resource name." + } + }, + "description": "Deployment dependency information." + }, + "DeploymentPropertiesExtended": { + "properties": { + "provisioningState": { + "type": "string", + "description": "Gets or sets the state of the provisioning." + }, + "correlationId": { + "type": "string", + "description": "Gets or sets the correlation ID of the deployment." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the timestamp of the template deployment." + }, + "outputs": { + "type": "object", + "description": "Gets or sets key/value pairs that represent deploymentoutput." + }, + "providers": { + "type": "array", + "items": { + "$ref": "#/definitions/Provider" + }, + "description": "Gets the list of resource providers needed for the deployment." + }, + "dependencies": { + "type": "array", + "items": { + "$ref": "#/definitions/Dependency" + }, + "description": "Gets the list of deployment dependencies." + }, + "template": { + "type": "object", + "description": "Gets or sets the template content. Use only one of Template or TemplateLink." + }, + "TemplateLink": { + "$ref": "#/definitions/TemplateLink", + "description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink." + }, + "parameters": { + "type": "object", + "description": "Deployment parameters. Use only one of Parameters or ParametersLink." + }, + "parametersLink": { + "$ref": "#/definitions/ParametersLink", + "description": "Gets or sets the URI referencing the parameters. Use only one of Parameters or ParametersLink." + }, + "mode": { + "type": "string", + "description": "Gets or sets the deployment mode.", + "enum": [ + "Incremental", + "Complete" + ], + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": false + } + } + }, + "description": "Deployment properties with additional details." + }, + "DeploymentExtended": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the ID of the deployment." + }, + "name": { + "type": "string", + "description": "Gets or sets the name of the deployment." + }, + "properties": { + "$ref": "#/definitions/DeploymentPropertiesExtended", + "description": "Gets or sets deployment properties." + } + }, + "required": [ + "name" + ], + "description": "Deployment information." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/azuredeploy.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/azuredeploy.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/azuredeploy.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/azuredeploy.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/__init__.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/__init__.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/__init__.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/__init__.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/__init__.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/__init__.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_parameter_artifacts_location.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/deployment_parameter_artifacts_location.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_parameter_artifacts_location.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/deployment_parameter_artifacts_location.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_parameter_virtual_network_ip_address_prefix.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/deployment_parameter_virtual_network_ip_address_prefix.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_parameter_virtual_network_ip_address_prefix.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/deployment_parameter_virtual_network_ip_address_prefix.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_vm.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/deployment_vm.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/deployment_vm.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/deployment_vm.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/template_link.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/template_link.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/models/template_link.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/models/template_link.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/__init__.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/operations/__init__.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/__init__.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/operations/__init__.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/vm_operations.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/operations/vm_operations.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/operations/vm_operations.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/operations/vm_operations.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/vm_creation_client.py b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/vm_creation_client.py similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/lib/vm_creation_client.py rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/lib/vm_creation_client.py diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/ExistingStorageAccount.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/ExistingStorageAccount.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/ExistingStorageAccount.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/ExistingStorageAccount.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/ExistingVNet.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/ExistingVNet.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/ExistingVNet.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/ExistingVNet.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/NewStorageAccount.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/NewStorageAccount.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/NewStorageAccount.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/NewStorageAccount.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/NewVNet.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/NewVNet.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/NewVNet.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/NewVNet.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_existing_dns_none.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_existing_dns_none.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_existing_dns_none.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_existing_dns_none.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_new_dns_new.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_new_dns_new.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_new_dns_new.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_new_dns_new.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_new_dns_none.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_new_dns_none.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_new_dns_none.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_new_dns_none.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_none_dns_none.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_none_dns_none.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/nic_ip_none_dns_none.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/nic_ip_none_dns_none.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_existing_password.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_existing_password.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_existing_password.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_existing_password.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_existing_sshkey.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_existing_sshkey.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_existing_sshkey.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_existing_sshkey.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_none_password.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_none_password.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_none_password.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_none_password.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_none_sshkey.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_none_sshkey.json similarity index 100% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/nested_templates/vm_none_sshkey.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/nested_templates/vm_none_sshkey.json diff --git a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/swagger_create_vm.json b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/swagger_create_vm.json similarity index 90% rename from src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/swagger_create_vm.json rename to src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/swagger_create_vm.json index 42fb9ebaa..31f866e61 100644 --- a/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt/swagger_create_vm.json +++ b/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/mgmt_vm_create/swagger_create_vm.json @@ -161,53 +161,9 @@ "VMParameters": { "properties": { - "storageContainerName": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_storageContainerName", - "x-ms-client-flatten": true - }, - "virtualNetworkName": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_virtualNetworkName", - "x-ms-client-flatten": true - }, - "subnetIpAddressPrefix": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_subnetIpAddressPrefix", - "x-ms-client-flatten": true - }, - "privateIpAddressAllocation": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_privateIpAddressAllocation", - "x-ms-client-flatten": true - }, - "dnsNameForPublicIP": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_dnsNameForPublicIP", - "x-ms-client-flatten": true - }, - "storageAccountType": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_storageAccountType", - "x-ms-client-flatten": true - }, - "osDiskUri": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_osDiskUri", - "x-ms-client-flatten": true - }, "_artifactsLocation": { "type": "object", - "$ref": "#/definitions/DeploymentParameter__artifactsLocation" - }, - "name": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_name", - "x-ms-client-flatten": true - }, - "virtualNetworkType": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_virtualNetworkType", + "$ref": "#/definitions/DeploymentParameter__artifactsLocation", "x-ms-client-flatten": true }, "adminPassword": { @@ -215,235 +171,174 @@ "$ref": "#/definitions/DeploymentParameter_adminPassword", "x-ms-client-flatten": true }, - "osSKU": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_osSKU", - "x-ms-client-flatten": true - }, - "subnetName": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_subnetName", - "x-ms-client-flatten": true - }, - "osType": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_osType", - "x-ms-client-flatten": true - }, "adminUsername": { "type": "object", "$ref": "#/definitions/DeploymentParameter_adminUsername", "x-ms-client-flatten": true }, - "osVersion": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_osVersion", - "x-ms-client-flatten": true - }, - "osDiskName": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_osDiskName", - "x-ms-client-flatten": true - }, - "sshDestKeyPath": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_sshDestKeyPath", - "x-ms-client-flatten": true - }, - "osOffer": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_osOffer", - "x-ms-client-flatten": true - }, - "publicIpAddressAllocation": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_publicIpAddressAllocation", - "x-ms-client-flatten": true - }, "authenticationType": { "type": "object", "$ref": "#/definitions/DeploymentParameter_authenticationType", "x-ms-client-flatten": true }, - "storageAccountName": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_storageAccountName", - "x-ms-client-flatten": true - }, - "storageRedundancyType": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_storageRedundancyType", - "x-ms-client-flatten": true - }, - "size": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_size", - "x-ms-client-flatten": true - }, - "publicIpAddressType": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_publicIpAddressType", - "x-ms-client-flatten": true - }, - "virtualNetworkIpAddressPrefix": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_virtualNetworkIpAddressPrefix", - "x-ms-client-flatten": true - }, "availabilitySetId": { "type": "object", "$ref": "#/definitions/DeploymentParameter_availabilitySetId", "x-ms-client-flatten": true }, - "sshKeyValue": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_sshKeyValue", - "x-ms-client-flatten": true - }, - "location": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_location", - "x-ms-client-flatten": true - }, - "osPublisher": { - "type": "object", - "$ref": "#/definitions/DeploymentParameter_osPublisher", - "x-ms-client-flatten": true - }, "availabilitySetType": { "type": "object", "$ref": "#/definitions/DeploymentParameter_availabilitySetType", "x-ms-client-flatten": true }, - "publicIpAddressName": { + "dnsNameForPublicIP": { "type": "object", - "$ref": "#/definitions/DeploymentParameter_publicIpAddressName", + "$ref": "#/definitions/DeploymentParameter_dnsNameForPublicIP", "x-ms-client-flatten": true }, "dnsNameType": { "type": "object", "$ref": "#/definitions/DeploymentParameter_dnsNameType", "x-ms-client-flatten": true + }, + "location": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_location", + "x-ms-client-flatten": true + }, + "name": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_name", + "x-ms-client-flatten": true + }, + "osDiskName": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_osDiskName", + "x-ms-client-flatten": true + }, + "osDiskUri": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_osDiskUri", + "x-ms-client-flatten": true + }, + "osOffer": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_osOffer", + "x-ms-client-flatten": true + }, + "osPublisher": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_osPublisher", + "x-ms-client-flatten": true + }, + "osSKU": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_osSKU", + "x-ms-client-flatten": true + }, + "osType": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_osType", + "x-ms-client-flatten": true + }, + "osVersion": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_osVersion", + "x-ms-client-flatten": true + }, + "privateIpAddressAllocation": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_privateIpAddressAllocation", + "x-ms-client-flatten": true + }, + "publicIpAddressAllocation": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_publicIpAddressAllocation", + "x-ms-client-flatten": true + }, + "publicIpAddressName": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_publicIpAddressName", + "x-ms-client-flatten": true + }, + "publicIpAddressType": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_publicIpAddressType", + "x-ms-client-flatten": true + }, + "size": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_size", + "x-ms-client-flatten": true + }, + "sshDestKeyPath": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_sshDestKeyPath", + "x-ms-client-flatten": true + }, + "sshKeyValue": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_sshKeyValue", + "x-ms-client-flatten": true + }, + "storageAccountName": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_storageAccountName", + "x-ms-client-flatten": true + }, + "storageAccountType": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_storageAccountType", + "x-ms-client-flatten": true + }, + "storageContainerName": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_storageContainerName", + "x-ms-client-flatten": true + }, + "storageRedundancyType": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_storageRedundancyType", + "x-ms-client-flatten": true + }, + "subnetIpAddressPrefix": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_subnetIpAddressPrefix", + "x-ms-client-flatten": true + }, + "subnetName": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_subnetName", + "x-ms-client-flatten": true + }, + "virtualNetworkIpAddressPrefix": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_virtualNetworkIpAddressPrefix", + "x-ms-client-flatten": true + }, + "virtualNetworkName": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_virtualNetworkName", + "x-ms-client-flatten": true + }, + "virtualNetworkType": { + "type": "object", + "$ref": "#/definitions/DeploymentParameter_virtualNetworkType", + "x-ms-client-flatten": true } }, "required": [ "adminUsername", - "virtualMachineName" + "name" ] - }, - "DeploymentParameter_storageContainerName": { - "properties": { - "value": { - "type": "string", - "description": "Name of storage container for the VM OS disk.", - "default": "vhds", - "x-ms-client-name": "storageContainerName" - } - } - }, - "DeploymentParameter_virtualNetworkName": { - "properties": { - "value": { - "type": "string", - "description": "Name of virtual network to add VM to.", - "x-ms-client-name": "virtualNetworkName" - } - } - }, - "DeploymentParameter_subnetIpAddressPrefix": { - "properties": { - "value": { - "type": "string", - "description": "The subnet address prefix in CIDR format.", - "default": "10.0.0.0/24", - "x-ms-client-name": "subnetIpAddressPrefix" - } - } - }, - "DeploymentParameter_privateIpAddressAllocation": { - "properties": { - "value": { - "type": "string", - "description": "Private IP address allocation method.", - "enum": [ - "Dynamic", - "Static" - ], - "default": "Dynamic", - "x-ms-client-name": "privateIpAddressAllocation" - } - } - }, - "DeploymentParameter_dnsNameForPublicIP": { - "properties": { - "value": { - "type": "string", - "description": "Globally unique DNS Name for the Public IP used to access the Virtual Machine. Requires a new public IP to be created by setting Public IP Address Type to New.", - "x-ms-client-name": "dnsNameForPublicIP" - } - } - }, - "DeploymentParameter_storageAccountType": { - "properties": { - "value": { - "type": "string", - "description": "Whether to use an existing storage account or create a new one.", - "enum": [ - "new", - "existing" - ], - "default": "new", - "x-ms-client-name": "storageAccountType" - } - } - }, - "DeploymentParameter_osDiskUri": { - "properties": { - "value": { - "type": "string", - "description": "URI for a custom VHD image.", - "x-ms-client-name": "osDiskUri" - } - } + }, "DeploymentParameter__artifactsLocation": { "properties": { "value": { "type": "string", - "description": "Container URI of of the template.", - "enum": [ - "https://azuresdkci.blob.core.windows.net/templatehost/CreateVM" - ] - } - }, - "required": [ - "value" - ] - }, - "DeploymentParameter_name": { - "properties": { - "value": { - "type": "string", - "description": "The VM resource name.", - "x-ms-client-name": "name" - } - }, - "required": [ - "value" - ] - - }, - "DeploymentParameter_virtualNetworkType": { - "properties": { - "value": { - "type": "string", - "description": "Whether to use an existing VNet or create a new one.", - "enum": [ - "new", - "existing" - ], - "default": "new", - "x-ms-client-name": "virtualNetworkType" + "description": "Container URI of the template.", + "x-ms-client-name": "_artifactsLocation" } } }, @@ -456,48 +351,6 @@ } } }, - "DeploymentParameter_osSKU": { - "properties": { - "value": { - "type": "string", - "description": "The OS SKU to install.", - "default": "2012-R2-Datacenter", - "x-ms-client-name": "osSKU" - } - } - }, - "DeploymentParameter_subnetName": { - "properties": { - "value": { - "type": "string", - "description": "The subnet name.", - "x-ms-client-name": "subnetName" - } - } - }, - "DeploymentParameter_osType": { - "properties": { - "value": { - "type": "string", - "description": "Common OS choices. Choose 'Custom' to specify an image with the osPublisher, osOffer, osSKU, and osVersion parameters.", - "enum": [ - "CentOS", - "CoreOS", - "Debian", - "openSUSE", - "RHEL", - "SLES", - "UbuntuLTS", - "Win2012R2Datacenter", - "Win2012Datacenter", - "Win2008R2SP1", - "Custom" - ], - "default": "Win2012R2Datacenter", - "x-ms-client-name": "osType" - } - } - }, "DeploymentParameter_adminUsername": { "properties": { "value": { @@ -511,124 +364,17 @@ ] }, - "DeploymentParameter_osVersion": { - "properties": { - "value": { - "type": "string", - "description": "The OS version to install.", - "default": "latest", - "x-ms-client-name": "osVersion" - } - } - }, - "DeploymentParameter_osDiskName": { - "properties": { - "value": { - "type": "string", - "description": "Name of new VM OS disk.", - "default": "osdiskimage", - "x-ms-client-name": "osDiskName" - } - } - }, - "DeploymentParameter_sshDestKeyPath": { - "properties": { - "value": { - "type": "string", - "description": "VM file path for SSH key.", - "x-ms-client-name": "sshDestKeyPath" - } - } - }, - "DeploymentParameter_osOffer": { - "properties": { - "value": { - "type": "string", - "description": "The OS Offer to install.", - "default": "WindowsServer", - "x-ms-client-name": "osOffer" - } - } - }, - "DeploymentParameter_publicIpAddressAllocation": { - "properties": { - "value": { - "type": "string", - "description": "Public IP address allocation method.", - "enum": [ - "Dynamic", - "Static" - ], - "default": "Dynamic", - "x-ms-client-name": "publicIpAddressAllocation" - } - } - }, "DeploymentParameter_authenticationType": { "properties": { "value": { "type": "string", "description": "Password or SSH Public Key authentication.", + "x-ms-client-name": "authenticationType", "enum": [ "password", "sshkey" ], - "default": "password", - "x-ms-client-name": "authenticationType" - } - } - }, - "DeploymentParameter_storageAccountName": { - "properties": { - "value": { - "type": "string", - "description": "Name of storage account for the VM OS disk.", - "x-ms-client-name": "storageAccountName" - } - } - }, - "DeploymentParameter_storageRedundancyType": { - "properties": { - "value": { - "type": "string", - "description": "The VM storage type (Standard_LRS, Standard_GRS, Standard_RAGRS).", - "default": "Standard_LRS", - "x-ms-client-name": "storageRedundancyType" - } - } - }, - "DeploymentParameter_size": { - "properties": { - "value": { - "type": "string", - "description": "The VM Size that should be created. See https://azure.microsoft.com/en-us/pricing/details/virtual-machines/ for size info.", - "default": "Standard_A2", - "x-ms-client-name": "size" - } - } - }, - "DeploymentParameter_publicIpAddressType": { - "properties": { - "value": { - "type": "string", - "description": "Use a public IP Address for the VM Nic.", - "enum": [ - "none", - "new", - "existing" - ], - "default": "none", - "x-ms-client-name": "publicIpAddressType" - } - } - }, - "DeploymentParameter_virtualNetworkIpAddressPrefix": { - "properties": { - "value": { - "type": "string", - "description": "The virtual network IP address prefix in CIDR format.", - "default": "10.0.0.0/16", - "x-ms-client-name": "virtualNetworkIpAddressPrefix" + "default": "password" } } }, @@ -641,6 +387,222 @@ } } }, + "DeploymentParameter_availabilitySetType": { + "properties": { + "value": { + "type": "string", + "description": "Flag to add the VM to an existing availability set.", + "x-ms-client-name": "availabilitySetType", + "enum": [ + "none", + "existing" + ], + "default": "none" + } + } + }, + "DeploymentParameter_dnsNameForPublicIP": { + "properties": { + "value": { + "type": "string", + "description": "Globally unique DNS Name for the Public IP used to access the Virtual Machine. Requires a new public IP to be created by setting Public IP Address Type to New.", + "x-ms-client-name": "dnsNameForPublicIP" + } + } + }, + "DeploymentParameter_dnsNameType": { + "properties": { + "value": { + "type": "string", + "description": "Associate VMs with a public IP address to a DNS name.", + "x-ms-client-name": "dnsNameType", + "enum": [ + "none", + "new" + ], + "default": "none" + } + } + }, + "DeploymentParameter_location": { + "properties": { + "value": { + "type": "string", + "description": "Location for VM resources.", + "x-ms-client-name": "location", + "default": "[resourceGroup().location]" + } + } + }, + "DeploymentParameter_name": { + "properties": { + "value": { + "type": "string", + "description": "The VM name.", + "x-ms-client-name": "name" + } + }, + "required": [ + "value" + ] + + }, + "DeploymentParameter_osDiskName": { + "properties": { + "value": { + "type": "string", + "description": "Name of new VM OS disk.", + "x-ms-client-name": "osDiskName", + "default": "osdiskimage" + } + } + }, + "DeploymentParameter_osDiskUri": { + "properties": { + "value": { + "type": "string", + "description": "URI for a custom VHD image.", + "x-ms-client-name": "osDiskUri", + "default": "[concat('http://', parameters('storageAccountName'), '.blob.core.windows.net/', parameters('storageContainerName'), '/', parameters('osDiskName'), '.vhd')]" + } + } + }, + "DeploymentParameter_osOffer": { + "properties": { + "value": { + "type": "string", + "description": "The OS Offer to install.", + "x-ms-client-name": "osOffer", + "default": "WindowsServer" + } + } + }, + "DeploymentParameter_osPublisher": { + "properties": { + "value": { + "type": "string", + "description": "The OS publisher of the OS image.", + "x-ms-client-name": "osPublisher", + "default": "MicrosoftWindowsServer" + } + } + }, + "DeploymentParameter_osSKU": { + "properties": { + "value": { + "type": "string", + "description": "The OS SKU to install.", + "x-ms-client-name": "osSKU", + "default": "2012-R2-Datacenter" + } + } + }, + "DeploymentParameter_osType": { + "properties": { + "value": { + "type": "string", + "description": "Common OS choices. Choose 'Custom' to specify an image with the osPublisher, osOffer, osSKU, and osVersion parameters.", + "x-ms-client-name": "osType", + "enum": [ + "CentOS", + "CoreOS", + "Debian", + "openSUSE", + "RHEL", + "SLES", + "UbuntuLTS", + "Win2012R2Datacenter", + "Win2012Datacenter", + "Win2008R2SP1", + "Custom" + ], + "default": "Win2012R2Datacenter" + } + } + }, + "DeploymentParameter_osVersion": { + "properties": { + "value": { + "type": "string", + "description": "The OS version to install.", + "x-ms-client-name": "osVersion", + "default": "latest" + } + } + }, + "DeploymentParameter_privateIpAddressAllocation": { + "properties": { + "value": { + "type": "string", + "description": "Private IP address allocation method.", + "x-ms-client-name": "privateIpAddressAllocation", + "enum": [ + "Dynamic", + "Static" + ], + "default": "Dynamic" + } + } + }, + "DeploymentParameter_publicIpAddressAllocation": { + "properties": { + "value": { + "type": "string", + "description": "Public IP address allocation method.", + "x-ms-client-name": "publicIpAddressAllocation", + "enum": [ + "Dynamic", + "Static" + ], + "default": "Dynamic" + } + } + }, + "DeploymentParameter_publicIpAddressName": { + "properties": { + "value": { + "type": "string", + "description": "Name of public IP address to use.", + "x-ms-client-name": "publicIpAddressName", + "default": "[concat('PublicIP', parameters('name'))]" + } + } + }, + "DeploymentParameter_publicIpAddressType": { + "properties": { + "value": { + "type": "string", + "description": "Use a public IP Address for the VM Nic.", + "x-ms-client-name": "publicIpAddressType", + "enum": [ + "none", + "new", + "existing" + ], + "default": "none" + } + } + }, + "DeploymentParameter_size": { + "properties": { + "value": { + "type": "string", + "description": "The VM Size that should be created. See https://azure.microsoft.com/en-us/pricing/details/virtual-machines/ for size info.", + "x-ms-client-name": "size", + "default": "Standard_A2" + } + } + }, + "DeploymentParameter_sshDestKeyPath": { + "properties": { + "value": { + "type": "string", + "description": "Destination file path on VM for SSH key.", + "x-ms-client-name": "sshDestKeyPath", + "default": "[concat('/home/',parameters('adminUsername'),'/.ssh/authorized_keys')]" + } + } + }, "DeploymentParameter_sshKeyValue": { "properties": { "value": { @@ -650,59 +612,101 @@ } } }, - "DeploymentParameter_location": { + "DeploymentParameter_storageAccountName": { "properties": { "value": { "type": "string", - "description": "Location for VM resources.", - "x-ms-client-name": "location" + "description": "Name of storage account for the VM OS disk.", + "x-ms-client-name": "storageAccountName", + "default": "[concat('vhdstorage', uniqueString(parameters('name')))]" } } }, - "DeploymentParameter_osPublisher": { + "DeploymentParameter_storageAccountType": { "properties": { "value": { "type": "string", - "description": "The OS publisher of the OS image.", - "default": "MicrosoftWindowsServer", - "x-ms-client-name": "osPublisher" - } - } - }, - "DeploymentParameter_availabilitySetType": { - "properties": { - "value": { - "type": "string", - "description": "Flag to add the VM to an existing availability set.", + "description": "Whether to use an existing storage account or create a new one.", + "x-ms-client-name": "storageAccountType", "enum": [ - "none", + "new", "existing" ], - "default": "none", - "x-ms-client-name": "availabilitySetType" + "default": "new" } } }, - "DeploymentParameter_publicIpAddressName": { + "DeploymentParameter_storageContainerName": { "properties": { "value": { "type": "string", - "description": "Name of public IP address to use.", - "x-ms-client-name": "publicIpAddressName" + "description": "Name of storage container for the VM OS disk.", + "x-ms-client-name": "storageContainerName", + "default": "vhds" } } }, - "DeploymentParameter_dnsNameType": { + "DeploymentParameter_storageRedundancyType": { "properties": { "value": { "type": "string", - "description": "Associate VMs with a public IP address to a DNS name.", + "description": "The VM storage type (Standard_LRS, Standard_GRS, Standard_RAGRS).", + "x-ms-client-name": "storageRedundancyType", + "default": "Standard_LRS" + } + } + }, + "DeploymentParameter_subnetIpAddressPrefix": { + "properties": { + "value": { + "type": "string", + "description": "The subnet address prefix in CIDR format.", + "x-ms-client-name": "subnetIpAddressPrefix", + "default": "10.0.0.0/24" + } + } + }, + "DeploymentParameter_subnetName": { + "properties": { + "value": { + "type": "string", + "description": "The subnet name.", + "x-ms-client-name": "subnetName", + "default": "[concat('Subnet', parameters('name'))]" + } + } + }, + "DeploymentParameter_virtualNetworkIpAddressPrefix": { + "properties": { + "value": { + "type": "string", + "description": "The virtual network IP address prefix in CIDR format.", + "x-ms-client-name": "virtualNetworkIpAddressPrefix", + "default": "10.0.0.0/16" + } + } + }, + "DeploymentParameter_virtualNetworkName": { + "properties": { + "value": { + "type": "string", + "description": "Name of virtual network to add VM to.", + "x-ms-client-name": "virtualNetworkName", + "default": "[concat('VNET', parameters('name'))]" + } + } + }, + "DeploymentParameter_virtualNetworkType": { + "properties": { + "value": { + "type": "string", + "description": "Whether to use an existing VNet or create a new one.", + "x-ms-client-name": "virtualNetworkType", "enum": [ - "none", - "new" + "new", + "existing" ], - "default": "none", - "x-ms-client-name": "dnsNameType" + "default": "new" } } }, diff --git a/src/command_modules/azure-cli-vm/setup.py b/src/command_modules/azure-cli-vm/setup.py index 7ada1c494..0aa88365a 100644 --- a/src/command_modules/azure-cli-vm/setup.py +++ b/src/command_modules/azure-cli-vm/setup.py @@ -60,10 +60,14 @@ setup( ], packages=[ 'azure.cli.command_modules.vm', - 'azure.cli.command_modules.vm.mgmt', - 'azure.cli.command_modules.vm.mgmt.lib', - 'azure.cli.command_modules.vm.mgmt.lib.models', - 'azure.cli.command_modules.vm.mgmt.lib.operations', + 'azure.cli.command_modules.vm.mgmt_vm_create', + 'azure.cli.command_modules.vm.mgmt_vm_create.lib', + 'azure.cli.command_modules.vm.mgmt_vm_create.lib.models', + 'azure.cli.command_modules.vm.mgmt_vm_create.lib.operations', + 'azure.cli.command_modules.vm.mgmt_avail_set', + 'azure.cli.command_modules.vm.mgmt_avail_set.lib', + 'azure.cli.command_modules.vm.mgmt_avail_set.lib.models', + 'azure.cli.command_modules.vm.mgmt_avail_set.lib.operations', ], install_requires=DEPENDENCIES, )