Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Nginx] Add NGINX CLI #5305

Merged
merged 37 commits into from
Sep 27, 2022
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
4da95cc
[Nginx] Add NGINX cli
limingu Sep 2, 2022
e684a38
Update
limingu Sep 2, 2022
3061390
Merge branch 'main' into nginx62022
limingu Sep 2, 2022
113dc40
Add missing queryparam api-version;Write tests for deployment create,…
george-ngugi Sep 9, 2022
b798402
commit recordings;add apiversion query param to cert actions;add test…
george-ngugi Sep 12, 2022
ea1b31f
delete recordings
george-ngugi Sep 13, 2022
8dd0f81
make cert tests work
george-ngugi Sep 14, 2022
b3e863a
add config apiversion query params;add config tests; test recording
george-ngugi Sep 14, 2022
0847fee
fix conflict in owners
george-ngugi Sep 14, 2022
7e3a8f8
fix github owners conflict; remove deprecated test
george-ngugi Sep 14, 2022
b2de509
add new line
george-ngugi Sep 14, 2022
e372c53
add new line
george-ngugi Sep 14, 2022
678411a
Merge branch 'main' into nginx62022
limingu Sep 14, 2022
d752b02
make lint changes;add fresh test recordings
george-ngugi Sep 14, 2022
3783b52
Merge branch 'nginx62022' of https://github.com/limingu/azure-cli-ext…
george-ngugi Sep 14, 2022
f4270db
add az nginx to service names
george-ngugi Sep 14, 2022
8c419da
Update src/nginx/setup.py
george-ngugi Sep 19, 2022
4154afd
Update src/nginx/azext_nginx/azext_metadata.json
george-ngugi Sep 19, 2022
e3ab0c5
Remove policy.json test generated file
george-ngugi Sep 19, 2022
73196ed
edit src/nginx/azext_nginx/_help.py as not required
george-ngugi Sep 19, 2022
c2dad3a
remove cmds in params.py
george-ngugi Sep 19, 2022
40071bc
Merge branch 'nginx62022' of https://github.com/limingu/azure-cli-ext…
george-ngugi Sep 19, 2022
470a6e8
Add help
george-ngugi Sep 19, 2022
8e34302
not experimental
george-ngugi Sep 19, 2022
0b88bb8
fix linter issues
george-ngugi Sep 19, 2022
6d7e22e
fix linter white space issues
george-ngugi Sep 19, 2022
cd40f0d
fix linter white space issues
george-ngugi Sep 19, 2022
b94329a
Add link for sku
george-ngugi Sep 19, 2022
3b91a43
Update src/nginx/azext_nginx/azext_metadata.json
george-ngugi Sep 20, 2022
d65f693
help cmds from aaz models;new test recording
george-ngugi Sep 20, 2022
352a529
Remove paramter info
george-ngugi Sep 21, 2022
134e7f0
Remove policy generated file
george-ngugi Sep 21, 2022
d10e30a
Update src/nginx/azext_nginx/aaz/latest/nginx/deployment/configuratio…
george-ngugi Sep 26, 2022
300da8f
Update src/nginx/azext_nginx/aaz/latest/nginx/deployment/configuratio…
george-ngugi Sep 26, 2022
acc509b
Update src/nginx/azext_nginx/aaz/latest/nginx/deployment/_update.py
george-ngugi Sep 26, 2022
a8cb6a2
Use shorthand syntax expression
george-ngugi Sep 26, 2022
d182fa1
Give meaningful update examples
george-ngugi Sep 26, 2022
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
4 changes: 3 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -246,4 +246,6 @@

/src/fleet/ @pdaru

/src/traffic-collector/ @rmodh @japani @kukulkarni1
/src/traffic-collector/ @rmodh @japani @kukulkarni1

/src/nginx/ @liftr-nginx
8 changes: 8 additions & 0 deletions src/nginx/HISTORY.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.. :changelog:

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

0.1.0
++++++
* Initial release.
5 changes: 5 additions & 0 deletions src/nginx/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Microsoft Azure CLI 'nginx' Extension
==========================================

This package is for the 'nginx' extension.
i.e. 'az nginx'
41 changes: 41 additions & 0 deletions src/nginx/azext_nginx/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------

from azure.cli.core import AzCommandsLoader

from azext_nginx._help import helps # pylint: disable=unused-import


class NginxCommandsLoader(AzCommandsLoader):

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

def load_command_table(self, args):
from azext_nginx.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_nginx._params import load_arguments
load_arguments(self, command)


COMMAND_LOADER_CLS = NginxCommandsLoader
234 changes: 234 additions & 0 deletions src/nginx/azext_nginx/_help.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
# 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.
# --------------------------------------------------------------------------------------------

from knack.help_files import helps # pylint: disable=unused-import

helps['nginx deployment list'] = """
type: command
short-summary: "List all Nginx Deployments under the specified resource group; List all deployments under the specified subscription."
examples:
- name: Deployments_ListByResourceGroup
text: |-
az nginx deployment list --resource-group myResourceGroup
- name: Deployments_List
text: |-
az nginx deployment list
"""
Copy link
Contributor

@kairu-ms kairu-ms Sep 20, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because you use aaz-dev-tools to generate atomic commands. You should add examples and summaries in aaz-dev-tools. When you generate code, that information will be contained in the Command class description. Instead of writing them in _help.py file.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please create a PR to submit the atomic command models in aaz as well.

Created PR Azure/aaz#24

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because you use aaz-dev-tools to generate atomic commands. You should add examples and summaries in aaz-dev-tools. When you generate code, that information will be contained in the Command class description. Instead of writing them in _help.py file.

Oh. Thanks for this. Done


helps['nginx deployment show'] = """
type: command
short-summary: "Get the properties of a specific Nginx Deployment."
examples:
- name: Deployment_Get
text: |-
az nginx deployment show --name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment create'] = """
type: command
short-summary: "Create an Nginx resource."
parameters:
- name: --sku
short-summary: "The billing information for the resource (https://docs.nginx.com/nginx-for-azure/billing/overview/)"
long-summary: |
Usage: --sku name=XXX

- name: --network-profile
short-summary: "The IP address details"
long-summary: |
Usage: --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscriptionId/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP}]}" network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionId/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}"

front-end-ip-configuration: IP information, public or private IP addresses.
network-interface-configuration: Subnet information. This subnet should be delegated to NGINX.NGINXPLUS/nginxDeployments
examples:
- name: Deployment_Create_With_PublicIP
text: |-
az nginx deployment create --name myDeployment --resource-group myResourceGroup --location eastus2 --sku name="preview_Monthly_gmz7xq9ge3py" --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP}]}" network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}"

- name: Deployment_Create_With_PrivateIP
text: |-
az nginx deployment create --name myDeployment --resource-group myResourceGroup --location eastus2 --sku name="preview_Monthly_gmz7xq9ge3py" --network-profile front-end-ip-configuration="{private-ip-addresses:[{private-ip-allocation-method:Static,subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet,private-ip-address:10.0.0.1}]}" network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}"
"""

helps['nginx deployment update'] = """
type: command
short-summary: "Update an Nginx deployment."
examples:
- name: Deployment_Update
text: |-
az nginx deployment update --name myDeployment --resource-group myResourceGroup --location eastus2 --tags tag1="value1" tag2="value2" --enable-diagnostics true
"""

helps['nginx deployment delete'] = """
type: command
short-summary: "Delete an Nginx deployment."
examples:
- name: Deployment_Delete
text: |-
az nginx deployment delete --name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment wait'] = """
type: command
short-summary: Place the CLI in a waiting state until a condition of the Nginx deployment is met.
examples:
- name: Pause executing next line of CLI script until the Nginx deployment is successfully created.
text: |-
az nginx deployment wait --name myDeployment --resource-group myResourceGroup --created
- name: Pause executing next line of CLI script until the Nginx deployment is successfully updated.
text: |-
az nginx deployment wait --name myDeployment --resource-group myResourceGroup --updated
- name: Pause executing next line of CLI script until the Nginx deployment is successfully deleted.
text: |-
az nginx deployment wait --name myDeployment --resource-group myResourceGroup --deleted
"""

helps['nginx deployment certificate list'] = """
type: command
short-summary: "List all certificates under the specified deployment and resource group"
examples:
- name: Certificate_ListByDeployment
text: |-
az nginx deployment certificate list --deployment-name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment certificate show'] = """
type: command
short-summary: "Get the properties of a specific Nginx certificate."
examples:
- name: Certificate_Get
text: |-
az nginx deployment certificate show --certificate-name myCertificate --deployment-name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment certificate create'] = """
type: command
short-summary: "Create a certificate for an Nginx deployment."
parameters:
- name: --deployment-name
short-summary: "The Nginx deployment name"

- name: --certificate-path
short-summary: "This path must match one or more ssl_certificate_key directive file argument in your Nginx configuration. This path must be unique between certificates within the same deployment"

- name: --key-path
short-summary: "This path must match one or more ssl_certificate directive file argument in your Nginx configuration. This path must be unique between certificates within the same deployment"

- name: --key-vault-secret-id
short-summary: "The secret ID for your certificate from Azure Key Vault"
examples:
- name: Certificate_Create
text: |-
az nginx deployment certificate create --certificate-name myCertificate --deployment-name myDeployment --resource-group myResourceGroup --certificate-path /etc/nginx/test.cert --key-path /etc/nginx/test.key --key-vault-secret-id keyVaultSecretId
"""

helps['nginx deployment certificate update'] = """
type: command
short-summary: "Update an Nginx deployment certificate."
examples:
- name: Certificate_Update
text: |-
az nginx deployment certificate update --certificate-name myCertificate --deployment-name myDeployment --resource-group myResourceGroup --certificate-path /etc/nginx/testupdated.cert --key-path /etc/nginx/testupdated.key --key-vault-secret-id newKeyVaultSecretId
"""

helps['nginx deployment certificate delete'] = """
type: command
short-summary: "Delete an Nginx deployment certificate."
examples:
- name: Certificate_Delete
text: |-
az nginx deployment certificate delete --certificate-name myCertificate --deployment-name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment certificate wait'] = """
type: command
short-summary: Place the CLI in a waiting state until a condition of the certificate is met.
examples:
- name: Pause executing next line of CLI script until the certificate is successfully created.
text: |-
az nginx deployment certificate wait --name myCertificate --deployment-name myDeployment --resource-group myResourceGroup --created
- name: Pause executing next line of CLI script until the certificate is successfully updated.
text: |-
az nginx deployment certificate wait --name myCertificate --deployment-name myDeployment --resource-group myResourceGroup --updated
- name: Pause executing next line of CLI script until the certificate is successfully deleted.
text: |-
az nginx deployment certificate wait --name myCertificate --deployment-name myDeployment --resource-group myResourceGroup --deleted
"""

helps['nginx deployment configuration list'] = """
type: command
short-summary: "List all configurations under the specified deployment and resource group"
examples:
- name: Configuration_ListByDeployment
text: |-
az nginx deployment configuration list --deployment-name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment configuration show'] = """
type: command
short-summary: "Get the properties of a specific Nginx configuration."
examples:
- name: Configuration_Get
text: |-
az nginx deployment configuration show --name default --deployment-name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment configuration create'] = """
type: command
short-summary: "Create a configuration for an Nginx deployment."
parameters:
- name: --deployment-name
short-summary: "The Nginx deployment name"

- name: --root-file
short-summary: "This should align with your Nginx configuration structure"

- name: --files
short-summary: "This is an array of files required for the config set-up"
long-summary: |
One of the files virtual-path should match the root file. For a multi-file config set-up, the root file needs to have references to the other file(s) in an include directive.
Usage: [{"content":"<Base64 content of config file>","virtual-path":"<path>"}].
examples:
- name: SingleConfiguration_Create
text: |-
az nginx deployment configuration create --name default --deployment-name myDeployment --resource-group myResourceGroup --root-file /etc/nginx/nginx.conf --files '[{"content":"aHR0cCB7CiAgICB1cHN0cmVhbSBhcHAgewogICAgICAgIHpvbmUgYXBwIDY0azsKICAgICAgICBsZWFzdF9jb25uOwogICAgICAgIHNlcnZlciAxMC4wLjEuNDo4MDAwOwogICAgfQoKICAgIHNlcnZlciB7CiAgICAgICAgbGlzdGVuIDgwOwogICAgICAgIHNlcnZlcl9uYW1lICouZXhhbXBsZS5jb207CgogICAgICAgIGxvY2F0aW9uIC8gewogICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGhvc3Q7CiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjsKICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLVByb3h5LUFwcCBhcHA7CiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgR2l0aHViLVJ1bi1JZCAwMDAwMDA7CiAgICAgICAgICAgIHByb3h5X2J1ZmZlcmluZyBvbjsKICAgICAgICAgICAgcHJveHlfYnVmZmVyX3NpemUgNGs7CiAgICAgICAgICAgIHByb3h5X2J1ZmZlcnMgOCA4azsKICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDYwczsKICAgICAgICAgICAgcHJveHlfcGFzcyBodHRwOi8vYXBwOwogICAgICAgICAgICBoZWFsdGhfY2hlY2s7CiAgICAgICAgfQogICAgICAgIAogICAgfQp9","virtual-path":"/etc/nginx/nginx.conf"}]'
- name: MultiConfiguration_Create
text: |-
az nginx deployment configuration create --name default --deployment-name myDeployment --resource-group myResourceGroup --root-file /etc/nginx/nginx.conf --files '[{"content":"aHR0cCB7CiAgICB1cHN0cmVhbSBhcHAgewogICAgICAgIHpvbmUgYXBwIDY0azsKICAgICAgICBsZWFzdF9jb25uOwogICAgICAgIHNlcnZlciAxMC4wLjEuNDo4MDAwOwogICAgfQoKICAgIHNlcnZlciB7CiAgICAgICAgbGlzdGVuIDgwOwogICAgICAgIHNlcnZlcl9uYW1lICouZXhhbXBsZS5jb207CgogICAgICAgIGxvY2F0aW9uIC8gewogICAgICAgICAgICBpbmNsdWRlIC9ldGMvbmdpbngvY29uZi5kL3Byb3h5LmNvbmY7CiAgICAgICAgICAgIHByb3h5X3Bhc3MgaHR0cDovL2FwcDsKICAgICAgICAgICAgaGVhbHRoX2NoZWNrOwogICAgICAgIH0KICAgICAgICAKICAgIH0KfQ==","virtual-path":"/etc/nginx/nginx.conf"},{"content":"cHJveHlfc2V0X2hlYWRlciBIb3N0ICRob3N0Owpwcm94eV9zZXRfaGVhZGVyIFgtUmVhbC1JUCAkcmVtb3RlX2FkZHI7CnByb3h5X3NldF9oZWFkZXIgWC1Qcm94eS1BcHAgYXBwOwpwcm94eV9zZXRfaGVhZGVyIEdpdGh1Yi1SdW4tSWQgMDAwMDAwOwpwcm94eV9idWZmZXJpbmcgb247CnByb3h5X2J1ZmZlcl9zaXplIDRrOwpwcm94eV9idWZmZXJzIDggOGs7CnByb3h5X3JlYWRfdGltZW91dCA2MHM7","virtual-path":"/etc/nginx/conf.d/proxy.conf"}]'
"""

helps['nginx deployment configuration update'] = """
type: command
short-summary: "Update an Nginx configuration."
examples:
- name: Configuration_Update
text: |-
az nginx deployment configuration update --name default --deployment-name myDeployment --resource-group myResourceGroup --root-file /etc/nginx/nginx.conf --files '[{"content":"aHR0cCB7CiAgICB1cHN0cmVhbSBhcHAgewogICAgICAgIHpvbmUgYXBwIDY0azsKICAgICAgICBsZWFzdF9jb25uOwogICAgICAgIHNlcnZlciAxMC4wLjEuNDo4MDAwOwogICAgfQoKICAgIHNlcnZlciB7CiAgICAgICAgbGlzdGVuIDgwOwogICAgICAgIHNlcnZlcl9uYW1lICouZXhhbXBsZS5jb207CgogICAgICAgIGxvY2F0aW9uIC8gewogICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGhvc3Q7CiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjsKICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLVByb3h5LUFwcCBhcHA7CiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgR2l0aHViLVJ1bi1JZCAwMDAwMDA7CiAgICAgICAgICAgIHByb3h5X2J1ZmZlcmluZyBvbjsKICAgICAgICAgICAgcHJveHlfYnVmZmVyX3NpemUgNGs7CiAgICAgICAgICAgIHByb3h5X2J1ZmZlcnMgOCA4azsKICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDYwczsKICAgICAgICAgICAgcHJveHlfcGFzcyBodHRwOi8vYXBwOwogICAgICAgICAgICBoZWFsdGhfY2hlY2s7CiAgICAgICAgfQogICAgICAgIAogICAgfQp9","virtual-path":"/etc/nginx/nginx.conf"}]'
"""

helps['nginx deployment configuration delete'] = """
type: command
short-summary: "Delete an Nginx configuration."
examples:
- name: Configuration_Delete
text: |-
az nginx deployment configuration delete --name default --deployment-name myDeployment --resource-group myResourceGroup
"""

helps['nginx deployment configuration wait'] = """
type: command
short-summary: Place the CLI in a waiting state until a condition of the configuration is met.
examples:
- name: Pause executing next line of CLI script until the configuration is successfully created.
text: |-
az nginx deployment configuration wait --name default --deployment-name myDeployment --resource-group myResourceGroup --created
- name: Pause executing next line of CLI script until the configuration is successfully updated.
text: |-
az nginx deployment configuration wait --name default --deployment-name myDeployment --resource-group myResourceGroup --updated
- name: Pause executing next line of CLI script until the configuration is successfully deleted.
text: |-
az nginx deployment configuration wait --name default --deployment-name myDeployment --resource-group myResourceGroup --deleted
"""
11 changes: 11 additions & 0 deletions src/nginx/azext_nginx/_params.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.
# --------------------------------------------------------------------------------------------
# pylint: disable=line-too-long

from knack.arguments import CLIArgumentType


def load_arguments(self, _): # pylint: disable=unused-argument
pass
6 changes: 6 additions & 0 deletions src/nginx/azext_nginx/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/nginx/azext_nginx/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
# --------------------------------------------------------------------------------------------
23 changes: 23 additions & 0 deletions src/nginx/azext_nginx/aaz/latest/nginx/__cmd_group.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# --------------------------------------------------------------------------------------------
# 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(
"nginx",
)
class __CMDGroup(AAZCommandGroup):
"""Manage NGINX deployment resources
"""
pass


__all__ = ["__CMDGroup"]
11 changes: 11 additions & 0 deletions src/nginx/azext_nginx/aaz/latest/nginx/__init__.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: skip-file
# flake8: noqa

from .__cmd_group import *
23 changes: 23 additions & 0 deletions src/nginx/azext_nginx/aaz/latest/nginx/deployment/__cmd_group.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# --------------------------------------------------------------------------------------------
# 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(
"nginx deployment",
)
class __CMDGroup(AAZCommandGroup):
"""Manage NGINX deployment resources
"""
pass


__all__ = ["__CMDGroup"]
Loading