Skip to content

Commit

Permalink
[Elastic-SAN] Public Preview (#5029)
Browse files Browse the repository at this point in the history
* first draft

* regenerate with 0.8.0

* generated with 0.9.3

* add codeowner

* rename

* shorten arg

* add servicename

* new swagger

* new swagger

* test elastic san

* test elastic san volume group

* volume test not passing

* new swagger fix list sku

* finish tests

* change name

* add examples and rerun test

* readme example

* Update azext_metadata.json
  • Loading branch information
calvinhzy authored Sep 30, 2022
1 parent 592ecd5 commit e181bf7
Show file tree
Hide file tree
Showing 43 changed files with 8,459 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -249,3 +249,5 @@
/src/traffic-collector/ @rmodh @japani @kukulkarni1

/src/nginx/ @liftr-nginx

/src/elastic-san/ @calvinhzy
8 changes: 8 additions & 0 deletions src/elastic-san/HISTORY.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.. :changelog:
Release History
===============

0.1.0
++++++
* Initial release.
42 changes: 42 additions & 0 deletions src/elastic-san/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Azure CLI ElasticSan Extension #
This is an extension to Azure CLI to manage ElasticSan resources.

## How to use ##

## Elastic San
### Create an Elastic SAN.
`az elastic-san create -n {san_name} -g {rg} --tags "{key1810:aaaa}" -l southcentralusstg --base-size-tib 23 --extended-capacity-size-tib 14 --sku "{name:Premium_LRS,tier:Premium}"`
### Delete an Elastic SAN.
`az elastic-san delete -g {rg} -n {san_name}`
### Get a list of Elastic SANs in a subscription.
`az elastic-san list -g {rg}`
### Get a list of Elastic SAN skus.
`az elastic-san list-sku`
### Get an Elastic SAN.
`az elastic-san show -g {rg} -n {san_name}`
### Update an Elastic SAN.
`az elastic-san update -n {san_name} -g {rg} --tags "{key1710:bbbb}" --base-size-tib 25 --extended-capacity-size-tib 15`

## Volume Group
### Create a Volume Group.
`az elastic-san volume-group create -e {san_name} -n {vg_name} -g {rg} --tags "{key1910:bbbb}" --encryption EncryptionAtRestWithPlatformKey --protocol-type Iscsi --network-acls "{virtual-network-rules:["{id:{subnet_id},action:Allow}"]}"`
### Delete a Volume Group.
`az elastic-san volume-group delete -g {rg} -e {san_name} -n {vg_name}`
### List Volume Groups.
`az elastic-san volume-group list -g {rg} -e {san_name}`
### Get a Volume Group.
`az elastic-san volume-group show -g {rg} -e {san_name} -n {vg_name}`
### Update a Volume Group.
`elastic-san volume-group update -e {san_name} -n {vg_name} -g {rg} --tags "{key2011:cccc}" --protocol-type None --network-acls "{virtual-network-rules:["{id:{subnet_id_2},action:Allow}"]}"`

## Volume
### Create a Volume.
`az elastic-san volume create -g {rg} -e {san_name} -v {vg_name} -n {volume_name} --size-gib 2`
### Delete a Volume.
`az elastic-san volume delete -g {rg} -e {san_name} -v {vg_name} -n {volume_name}`
### List Volumes in a Volume Group.
`az elastic-san volume list -g {rg} -e {san_name} -v {vg_name}`
### Get a Volume.
`az elastic-san volume show -g {rg} -e {san_name} -v {vg_name} -n {volume_name}`
### Update a Volume.
`az elastic-san volume update -g {rg} -e {san_name} -v {vg_name} -n {volume_name} --size-gib 3`
42 changes: 42 additions & 0 deletions src/elastic-san/azext_elastic_san/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------

from azure.cli.core import AzCommandsLoader
from azext_elastic_san._help import helps # pylint: disable=unused-import


class ElasticSanCommandsLoader(AzCommandsLoader):

def __init__(self, cli_ctx=None):
from azure.cli.core.commands import CliCommandType
custom_command_type = CliCommandType(
operations_tmpl='azext_elastic_san.custom#{}')
super().__init__(cli_ctx=cli_ctx,
custom_command_type=custom_command_type)

def load_command_table(self, args):
from azext_elastic_san.commands import load_command_table
from azure.cli.core.aaz import load_aaz_command_table
try:
from . import aaz
except ImportError:
aaz = None
if aaz:
load_aaz_command_table(
loader=self,
aaz_pkg_name=aaz.__name__,
args=args
)
load_command_table(self, args)
return self.command_table

def load_arguments(self, command):
from azext_elastic_san._params import load_arguments
load_arguments(self, command)


COMMAND_LOADER_CLS = ElasticSanCommandsLoader
11 changes: 11 additions & 0 deletions src/elastic-san/azext_elastic_san/_help.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------

# pylint: disable=line-too-long
# pylint: disable=too-many-lines

from knack.help_files import helps # pylint: disable=unused-import
13 changes: 13 additions & 0 deletions src/elastic-san/azext_elastic_san/_params.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------

# pylint: disable=too-many-lines
# pylint: disable=too-many-statements


def load_arguments(self, _): # pylint: disable=unused-argument
pass
6 changes: 6 additions & 0 deletions src/elastic-san/azext_elastic_san/aaz/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------
6 changes: 6 additions & 0 deletions src/elastic-san/azext_elastic_san/aaz/latest/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------

# pylint: skip-file
# flake8: noqa

from azure.cli.core.aaz import *


@register_command_group(
"elastic-san",
is_preview=True,
)
class __CMDGroup(AAZCommandGroup):
"""Manage Elastic SAN.
"""
pass


__all__ = ["__CMDGroup"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------

# pylint: skip-file
# flake8: noqa

from .__cmd_group import *
from ._create import *
from ._delete import *
from ._list import *
from ._list_sku import *
from ._show import *
from ._update import *
from ._wait import *
Loading

0 comments on commit e181bf7

Please sign in to comment.