Skip to content

Commit 5ebb206

Browse files
pscloud cli extension (#9047)
* pscloud cli extension * added examples * fix * added tests * added all test recording * Added readme file
1 parent a59f1dd commit 5ebb206

39 files changed

+10007
-0
lines changed

src/pscloud/HISTORY.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.. :changelog:
2+
3+
Release History
4+
===============
5+
6+
1.0.0b1
7+
++++++
8+
* Initial release.

src/pscloud/README.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Azure CLI Pscloud Extension #
2+
3+
This is an extension to Azure CLI to manage PureStorage Cloud resources including reservations and storage pools.
4+
5+
## How to use ##
6+
7+
### Install the extension ###
8+
9+
Install this extension using the below CLI command:
10+
```
11+
az extension add --name pscloud
12+
```
13+
14+
### Check the version ###
15+
16+
```
17+
az extension show --name pscloud --query version
18+
```
19+
20+
### Connect to Azure subscription ###
21+
22+
```
23+
az login
24+
az account set -s {subscription_id}
25+
```
26+
27+
### Create a resource group (or use an existing one) ###
28+
29+
```
30+
az group create -n demoResourceGroup -l eastus
31+
```
32+
33+
## Available Commands ##
34+
35+
#### Show a PureStorage Cloud Resource ####
36+
37+
```
38+
az pscloud show --resource-group {resource_group} --name {reservation_name}
39+
```
40+
41+
#### List PureStorage Cloud Resources ####
42+
43+
```
44+
az pscloud list --resource-group {resource_group}
45+
```
46+
47+
#### Create a Storage Pool ####
48+
49+
```
50+
az pscloud pool create --resource-group {resource_group} --storage-pool-name {storage_pool_name} --location {location} --availability-zone {availability_zone} --vnet-injection '{{"subnet-id": "{subnet_id}", "vnet-id": "{vnet_id}"}}' --provisioned-bandwidth {bandwidth_mb_per_sec} --reservation-id {reservation_resource_id} --system-assigned --user-assigned {user_assigned_identity_ids} --tags "{key:value}"
51+
```
52+
53+
#### Show a Storage Pool ####
54+
55+
```
56+
az pscloud pool show --resource-group {resource_group} --storage-pool-name {storage_pool_name}
57+
```
58+
59+
#### List Storage Pools ####
60+
61+
```
62+
az pscloud pool list --resource-group {resource_group}
63+
```
64+
65+
#### Update a Storage Pool ####
66+
67+
```
68+
az pscloud pool update --resource-group {resource_group} --name {storage_pool_name} --provisioned-bandwidth {bandwidth_mb_per_sec}
69+
```
70+
71+
#### Delete a Storage Pool ####
72+
73+
```
74+
az pscloud pool delete --resource-group {resource_group} --storage-pool-name {storage_pool_name}
75+
```
76+
77+
#### Get Storage Pool Health Status ####
78+
79+
```
80+
az pscloud pool get-health-status --resource-group {resource_group} --storage-pool-name {storage_pool_name}
81+
```
82+
83+
#### Get Storage Pool AVS Status ####
84+
85+
```
86+
az pscloud pool get-avs-status --resource-group {resource_group} --storage-pool-name {storage_pool_name}
87+
```
88+
89+
If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
7+
8+
from azure.cli.core import AzCommandsLoader
9+
from azext_pscloud._help import helps # pylint: disable=unused-import
10+
11+
12+
class PscloudCommandsLoader(AzCommandsLoader):
13+
14+
def __init__(self, cli_ctx=None):
15+
from azure.cli.core.commands import CliCommandType
16+
custom_command_type = CliCommandType(
17+
operations_tmpl='azext_pscloud.custom#{}')
18+
super().__init__(cli_ctx=cli_ctx,
19+
custom_command_type=custom_command_type)
20+
21+
def load_command_table(self, args):
22+
from azext_pscloud.commands import load_command_table
23+
from azure.cli.core.aaz import load_aaz_command_table
24+
try:
25+
from . import aaz
26+
except ImportError:
27+
aaz = None
28+
if aaz:
29+
load_aaz_command_table(
30+
loader=self,
31+
aaz_pkg_name=aaz.__name__,
32+
args=args
33+
)
34+
load_command_table(self, args)
35+
return self.command_table
36+
37+
def load_arguments(self, command):
38+
from azext_pscloud._params import load_arguments
39+
load_arguments(self, command)
40+
41+
42+
COMMAND_LOADER_CLS = PscloudCommandsLoader

src/pscloud/azext_pscloud/_help.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
7+
8+
# pylint: disable=line-too-long
9+
# pylint: disable=too-many-lines
10+
11+
from knack.help_files import helps # pylint: disable=unused-import
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
7+
8+
# pylint: disable=too-many-lines
9+
# pylint: disable=too-many-statements
10+
11+
12+
def load_arguments(self, _): # pylint: disable=unused-argument
13+
pass
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
7+
8+
# pylint: skip-file
9+
# flake8: noqa
10+
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
7+
8+
# pylint: skip-file
9+
# flake8: noqa
10+
11+
from azure.cli.core.aaz import *
12+
13+
14+
@register_command_group(
15+
"pscloud",
16+
is_preview=True,
17+
)
18+
class __CMDGroup(AAZCommandGroup):
19+
"""Manage Pure Storage Block resources
20+
"""
21+
pass
22+
23+
24+
__all__ = ["__CMDGroup"]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
7+
8+
# pylint: skip-file
9+
# flake8: noqa
10+
11+
from .__cmd_group import *
12+
from ._create import *
13+
from ._delete import *
14+
from ._list import *
15+
from ._show import *
16+
from ._update import *

0 commit comments

Comments
 (0)