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,
)