Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,5 @@
/src/webpubsub/ @zackliu

/src/connectedvmware/ @sanmishra18

/src/diskpool/ @Juliehzl
8 changes: 7 additions & 1 deletion scripts/ci/credscan/CredScanSuppressions.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,17 @@
],
"_justification": "dummy passwords for one-off resources"
},
{
{
"file": [
"src\\storage-blob-preview\\azext_storage_blob_preview\\tests\\latest\\recordings\\test_storage_blob_incremental_copy.yaml"
],
"_justification": "[Storage] response body contains random value recognized as secret in outdated recoding files of storage may remove in the future"
},
{
"file": [
"src\\diskpool\\README.md"
],
"_justification": "Faked password"
}
]
}
8 changes: 8 additions & 0 deletions src/diskpool/HISTORY.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.. :changelog:

Release History
===============

0.1.0
++++++
* Initial release.
64 changes: 64 additions & 0 deletions src/diskpool/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Azure CLI Extension #
This is the extension for diskpool

### How to use ###
Install this extension using the below CLI command
```
az extension add -s https://zuhdefault.blob.core.windows.net/cliext/diskpool-0.2.0-py3-none-any.whl
```

### Included Features ###
#### disk-pool ####
##### Create #####
```
az disk-pool create --name "myDiskPool" --location "westus" --availability-zones "1" \
--disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" \
--disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1" \
--subnet-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet" \
--sku name="Standard_ABC" --tags key="value" --resource-group "myResourceGroup"

az disk-pool wait --created --name "myDiskPool" --resource-group "myResourceGroup"
```
##### Show #####
```
az disk-pool show --name "myDiskPool" --resource-group "myResourceGroup"
```
##### List #####
```
az disk-pool list --resource-group "myResourceGroup"
```
##### Update #####
```
az disk-pool update --name "myDiskPool" --location "westus" --availability-zones "1" \
--disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" \
--disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1" \
--subnet-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet" \
--tags key="value" --resource-group "myResourceGroup"
```
##### Delete #####
```
az disk-pool delete --name "myDiskPool" --resource-group "myResourceGroup"
```
#### disk-pool iscsi-target ####
##### Create #####
```
az disk-pool iscsi-target create --disk-pool-name "myDiskPool" --name "myIscsiTarget" \
--target-iqn "iqn.2005-03.org.iscsi:server1" \
--tpgs "[{\\"acls\\":[{\\"credentials\\":{\\"password\\":\\"some_pa$$word\\",\\"username\\":\\"some_username\\"},\\"initiatorIqn\\":\\"iqn.2005-03.org.iscsi:client\\",\\"mappedLuns\\":[\\"lun0\\"]}],\\"attributes\\":{\\"authentication\\":true,\\"prodModeWriteProtect\\":false},\\"luns\\":[{\\"name\\":\\"lun0\\",\\"managedDiskAzureResourceId\\":\\"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1\\"}]}]" \
--resource-group "myResourceGroup"

az disk-pool iscsi-target wait --created --name "myIscsiTarget" --resource-group "myResourceGroup"
```
##### Show #####
```
az disk-pool iscsi-target show --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group "myResourceGroup"
```
##### List #####
```
az disk-pool iscsi-target list --disk-pool-name "myDiskPool" --resource-group "myResourceGroup"
```
##### Delete #####
```
az disk-pool iscsi-target delete --disk-pool-name "myDiskPool" --name "myIscsiTarget" \
--resource-group "myResourceGroup"
```
53 changes: 53 additions & 0 deletions src/diskpool/azext_diskpool/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
# pylint: disable=unused-import

import azext_diskpool._help
from azure.cli.core import AzCommandsLoader


class StoragePoolManagementCommandsLoader(AzCommandsLoader):

def __init__(self, cli_ctx=None):
from azure.cli.core.commands import CliCommandType
from azext_diskpool.generated._client_factory import cf_diskpool_cl
diskpool_custom = CliCommandType(
operations_tmpl='azext_diskpool.custom#{}',
client_factory=cf_diskpool_cl)
parent = super(StoragePoolManagementCommandsLoader, self)
parent.__init__(cli_ctx=cli_ctx, custom_command_type=diskpool_custom)

def load_command_table(self, args):
from azext_diskpool.generated.commands import load_command_table
load_command_table(self, args)
try:
from azext_diskpool.manual.commands import load_command_table as load_command_table_manual
load_command_table_manual(self, args)
except ImportError as e:
if e.name.endswith('manual.commands'):
pass
else:
raise e
return self.command_table

def load_arguments(self, command):
from azext_diskpool.generated._params import load_arguments
load_arguments(self, command)
try:
from azext_diskpool.manual._params import load_arguments as load_arguments_manual
load_arguments_manual(self, command)
except ImportError as e:
if e.name.endswith('manual._params'):
pass
else:
raise e


COMMAND_LOADER_CLS = StoragePoolManagementCommandsLoader
20 changes: 20 additions & 0 deletions src/diskpool/azext_diskpool/_help.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wildcard-import
# pylint: disable=unused-wildcard-import
# pylint: disable=unused-import
from .generated._help import helps # pylint: disable=reimported
try:
from .manual._help import helps # pylint: disable=reimported
except ImportError as e:
if e.name.endswith('manual._help'):
pass
else:
raise e
20 changes: 20 additions & 0 deletions src/diskpool/azext_diskpool/action.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wildcard-import
# pylint: disable=unused-wildcard-import

from .generated.action import * # noqa: F403
try:
from .manual.action import * # noqa: F403
except ImportError as e:
if e.name.endswith('manual.action'):
pass
else:
raise e
4 changes: 4 additions & 0 deletions src/diskpool/azext_diskpool/azext_metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"azext.isExperimental": true,
"azext.minCliCoreVersion": "2.15.0"
}
20 changes: 20 additions & 0 deletions src/diskpool/azext_diskpool/custom.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wildcard-import
# pylint: disable=unused-wildcard-import

from .generated.custom import * # noqa: F403
try:
from .manual.custom import * # noqa: F403
except ImportError as e:
if e.name.endswith('manual.custom'):
pass
else:
raise e
12 changes: 12 additions & 0 deletions src/diskpool/azext_diskpool/generated/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

__path__ = __import__('pkgutil').extend_path(__path__, __name__)
28 changes: 28 additions & 0 deletions src/diskpool/azext_diskpool/generated/_client_factory.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------


def cf_diskpool_cl(cli_ctx, *_):
from azure.cli.core.commands.client_factory import get_mgmt_service_client
from azext_diskpool.vendored_sdks.storagepool import StoragePoolManagement
return get_mgmt_service_client(cli_ctx,
StoragePoolManagement)


def cf_disk_pool(cli_ctx, *_):
return cf_diskpool_cl(cli_ctx).disk_pools


def cf_disk_pool_zone(cli_ctx, *_):
return cf_diskpool_cl(cli_ctx).disk_pool_zones


def cf_iscsi_target(cli_ctx, *_):
return cf_diskpool_cl(cli_ctx).iscsi_targets
Loading