Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions src/vmware/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
# Release History

## 2.1.0 (TBD)
- add az vmware private-cloud rotate-vcenter-password
- add az vmware private-cloud rotate-nsxt-password
## 3.0.0 (2021-06)
This version has **breaking changes**:
- `az vmware datastore create` has been removed. Please use `az vmware datastore netapp-volume create` or `az vmware datastore disk-pool-volume create` instead.

Other changes:
- update to AVS 2021-06-01 API
- add `az vmware private-cloud rotate-vcenter-password`
- add `az vmware private-cloud rotate-nsxt-password`
- add `az vmware addon` command group
- add `az vmware addon hcx` command group to manage a HCX addon
- add `az vmware addon srm` command group to manage a Site Recovery Manager (SRM) addon
- add `az vmware addon vr` command group to manage a vSphere Replication (VR) addon

## 2.0.1 (2021-02)
- Update the minimum az cli version to 2.11.0 [#3045](https://github.com/Azure/azure-cli-extensions/issues/3045)
Expand Down
2 changes: 1 addition & 1 deletion src/vmware/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
``` powershell
rm ..\azure-cli-extensions\src\vmware\azext_vmware\vendored_sdks -Recurse

autorest --python --output-folder=..\azure-cli-extensions\src\vmware\azext_vmware\vendored_sdks --use=@autorest/python@5.6.1 --tag=package-2021-01-01-preview --azure-arm=true --override-client-name=AVSClient specification\vmware\resource-manager\readme.md
autorest --python --output-folder=..\azure-cli-extensions\src\vmware\azext_vmware\vendored_sdks --use=@autorest/python@5.8.0 --tag=package-2021-06-01 --azure-arm=true --namespace=avs_client --override-client-name=AVSClient specification\vmware\resource-manager\readme.md
```
It was run from a git clone of [azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs).
155 changes: 149 additions & 6 deletions src/vmware/azext_vmware/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,26 @@
short-summary: Commands to manage Azure VMware Solution.
"""

helps['vmware addon'] = """
type: group
short-summary: Commands to manage addons for a private cloud.
"""

helps['vmware addon hcx'] = """
type: group
short-summary: Commands to manage a HCX addon.
"""

helps['vmware addon srm'] = """
type: group
short-summary: Commands to manage a Site Recovery Manager (SRM) addon.
"""

helps['vmware addon vr'] = """
type: group
short-summary: Commands to manage a vSphere Replication (VR) addon.
"""

helps['vmware private-cloud'] = """
type: group
short-summary: Commands to manage private clouds.
Expand Down Expand Up @@ -175,14 +195,33 @@

helps['vmware datastore create'] = """
type: command
short-summary: Create a datastore in a private cloud cluster.
short-summary: Please use "netapp-volume create" or "disk-pool-volume create" instead.
"""

helps['vmware datastore netapp-volume'] = """
type: group
short-summary: Create a new Microsoft.NetApp provided NetApp volume in a private cloud cluster.
"""

helps['vmware datastore netapp-volume create'] = """
type: command
short-summary: Create a new Microsoft.NetApp provided NetApp volume in a private cloud cluster.
examples:
- name: Create a new Microsoft.StoragePool provided disk pool based iSCSI datastore.
text: az vmware datastore create --name iSCSIDatastore1 --resource-group MyResourceGroup --cluster Cluster-1 --private-cloud MyPrivateCloud --endpoints 10.10.0.1:3260 --lun-name lun0
- name: Create a new Microsoft.StoragePool provided disk pool based iSCSI datastore with multiple endpoints.
text: az vmware datastore create --name iSCSIDatastore1 --resource-group MyResourceGroup --cluster Cluster-1 --private-cloud MyPrivateCloud --endpoints 10.10.0.1:3260 10.10.0.2:3260 --lun-name lun0
- name: Create a new Microsoft.NetApp provided NetApp volume based NFSv3 datastore.
text: az vmware datastore create --name ANFDatastore1 --resource-group MyResourceGroup --cluster Cluster-1 --private-cloud MyPrivateCloud --nfs-file-path ANFVol1FilePath --nfs-provider-ip 10.10.0.1
text: az vmware datastore netapp-volume create --name ANFDatastore1 --resource-group MyResourceGroup --cluster Cluster-1 --private-cloud MyPrivateCloud --volume-id /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.NetApp/netAppAccounts/NetAppAccount1/capacityPools/CapacityPool1/volumes/NFSVol1
"""

helps['vmware datastore disk-pool-volume'] = """
type: group
short-summary: Create a VMFS datastore in a private cloud cluster using Microsoft.StoragePool provided iSCSI target.
"""

helps['vmware datastore disk-pool-volume create'] = """
type: command
short-summary: Create a VMFS datastore in a private cloud cluster using Microsoft.StoragePool provided iSCSI target.
examples:
- name: Create a new Microsoft.StoragePool provided disk pool based iSCSI datastore.
text: az vmware datastore disk-pool-volume create --name iSCSIDatastore1 --resource-group MyResourceGroup --cluster Cluster-1 --private-cloud MyPrivateCloud --target-id /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.StoragePool/diskPools/mpio-diskpool/iscsiTargets/mpio-iscsi-target --lun-name lun0
"""

helps['vmware datastore show'] = """
Expand All @@ -208,3 +247,107 @@
- name: Delete an iSCSI or NFS based datastore.
text: az vmware datastore delete --name MyCloudSANDatastore1 --resource-group MyResourceGroup --cluster Cluster-1 --private-cloud MyPrivateCloud
"""

helps['vmware addon list'] = """
type: command
short-summary: List addons in a private cloud.
examples:
- name: List addons in a private cloud.
text: az vmware addon list --resource-group MyResourceGroup --private-cloud MyPrivateCloud
"""

helps['vmware addon vr create'] = """
type: command
short-summary: Create a vSphere Replication (VR) addon for a private cloud.
examples:
- name: Create a vSphere Replication (VR) addon.
text: az vmware addon vr create --resource-group MyResourceGroup --private-cloud MyPrivateCloud --vrs-count 1
"""

helps['vmware addon hcx create'] = """
type: command
short-summary: Create a HCX addon for a private cloud.
examples:
- name: Create a HCX addon.
text: az vmware addon hcx create --resource-group MyResourceGroup --private-cloud MyPrivateCloud --offer "VMware MaaS Cloud Provider (Enterprise)"
"""

helps['vmware addon srm create'] = """
type: command
short-summary: Create a Site Recovery Manager (SRM) addon for a private cloud.
examples:
- name: Create a Site Recovery Manager (SRM) addon.
text: az vmware addon srm create --resource-group MyResourceGroup --private-cloud MyPrivateCloud --license-key "41915178-A8FF-4A4D-B683-6D735AF5E3F5"
"""

helps['vmware addon vr show'] = """
type: command
short-summary: Show details of a vSphere Replication (VR) addon for a private cloud.
examples:
- name: Show details of a vSphere Replication (VR) addon.
text: az vmware addon vr show --resource-group MyResourceGroup --private-cloud MyPrivateCloud
"""

helps['vmware addon hcx show'] = """
type: command
short-summary: Show details of a HCX addon for a private cloud.
examples:
- name: Show details of a HCX addon.
text: az vmware addon hcx show --resource-group MyResourceGroup --private-cloud MyPrivateCloud
"""

helps['vmware addon srm show'] = """
type: command
short-summary: Show details of a Site Recovery Manager (SRM) addon for a private cloud.
examples:
- name: Show details of a Site Recovery Manager (SRM) addon.
text: az vmware addon srm show --resource-group MyResourceGroup --private-cloud MyPrivateCloud
"""

helps['vmware addon vr update'] = """
type: command
short-summary: Update a vSphere Replication (VR) addon for a private cloud.
examples:
- name: Update a vSphere Replication (VR) addon.
text: az vmware addon vr update --resource-group MyResourceGroup --private-cloud MyPrivateCloud --vrs-count 1
"""

helps['vmware addon hcx update'] = """
type: command
short-summary: Update a HCX addon for a private cloud.
examples:
- name: Update a HCX addon.
text: az vmware addon hcx update --resource-group MyResourceGroup --private-cloud MyPrivateCloud --offer "VMware MaaS Cloud Provider (Enterprise)"
"""

helps['vmware addon srm update'] = """
type: command
short-summary: Update a Site Recovery Manager (SRM) addon for a private cloud.
examples:
- name: Update a Site Recovery Manager (SRM) addon.
text: az vmware addon srm update --resource-group MyResourceGroup --private-cloud MyPrivateCloud --license-key "41915178-A8FF-4A4D-B683-6D735AF5E3F5"
"""

helps['vmware addon vr delete'] = """
type: command
short-summary: Delete a vSphere Replication (VR) addon for a private cloud.
examples:
- name: Delete a vSphere Replication (VR) addon.
text: az vmware addon vr delete --resource-group MyResourceGroup --private-cloud MyPrivateCloud
"""

helps['vmware addon hcx delete'] = """
type: command
short-summary: Delete a HCX addon for a private cloud.
examples:
- name: Delete a HCX addon.
text: az vmware addon hcx delete --resource-group MyResourceGroup --private-cloud MyPrivateCloud
"""

helps['vmware addon srm delete'] = """
type: command
short-summary: Delete a Site Recovery Manager (SRM) addon for a private cloud.
examples:
- name: Delete a Site Recovery Manager (SRM) addon.
text: az vmware addon srm delete --resource-group MyResourceGroup --private-cloud MyPrivateCloud
"""
22 changes: 21 additions & 1 deletion src/vmware/azext_vmware/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,29 @@ def load_arguments(self, _):
with self.argument_context('vmware datastore') as c:
c.argument('name', options_list=['--name', '-n'], help='The name of the datastore.')
c.argument('cluster', help='The name of the cluster.')
c.argument('lun_name', help='Name of the LUN to be used.')

with self.argument_context('vmware datastore create') as c:
c.argument('nfs_provider_ip', help='IP address of the NFS provider.')
c.argument('nfs_file_path', help='File path through which the NFS volume is exposed by the provider.')
c.argument('endpoints', nargs='*', help='iSCSI provider target IP address list.')
c.argument('lun_name', help='Name of the LUN to be used.')

with self.argument_context('vmware datastore netapp-volume create') as c:
c.argument('volume_id', help='Azure resource ID of the NetApp volume.')

with self.argument_context('vmware datastore disk-pool-volume create') as c:
c.argument('target_id', help='Azure resource ID of the iSCSI target.')
c.argument('mount_option', nargs='*', help='Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN.')
c.argument('path', help='Device path.')

with self.argument_context('vmware addon') as c:
c.argument('name', options_list=['--name', '-n'], help='Name of the addon.')

with self.argument_context('vmware addon vr') as c:
c.argument('vrs_count', help='The vSphere Replication Server (VRS) count.')

with self.argument_context('vmware addon hcx') as c:
c.argument('offer', help='The HCX offer, example "VMware MaaS Cloud Provider (Enterprise)".')

with self.argument_context('vmware addon srm') as c:
c.argument('license_key', help='The Site Recovery Manager (SRM) license.')
27 changes: 27 additions & 0 deletions src/vmware/azext_vmware/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,30 @@ def load_command_table(self, _):
g.custom_command('list', 'datastore_list')
g.custom_show_command('show', 'datastore_show')
g.custom_command('delete', 'datastore_delete')

with self.command_group('vmware datastore netapp-volume', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('create', 'datastore_netappvolume_create')

with self.command_group('vmware datastore disk-pool-volume', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('create', 'datastore_diskpoolvolume_create')

with self.command_group('vmware addon', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('list', 'addon_list')

with self.command_group('vmware addon vr', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('create', 'addon_vr_create')
g.custom_show_command('show', 'addon_vr_show')
g.custom_command('update', 'addon_vr_update')
g.custom_command('delete', 'addon_vr_delete')

with self.command_group('vmware addon hcx', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('create', 'addon_hcx_create')
g.custom_show_command('show', 'addon_hcx_show')
g.custom_command('update', 'addon_hcx_update')
g.custom_command('delete', 'addon_hcx_delete')

with self.command_group('vmware addon srm', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('create', 'addon_srm_create')
g.custom_show_command('show', 'addon_srm_show')
g.custom_command('update', 'addon_srm_update')
g.custom_command('delete', 'addon_srm_delete')
Loading