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

Jonathanhe/workload network #3899

Merged
merged 19 commits into from
Sep 23, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
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
3 changes: 3 additions & 0 deletions src/vmware/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
## 3.2.0

- Add `az vmware workload-network dhcp` command group
- Add `az vmware workload-network dns-service` command group
- Add `az vmware workload-network dns-zone` command group
- Add `az vmware workload-network port-mirroring` command group
Comment on lines 3 to +8
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you need to upgrade a new version for these changes?

Copy link
Member

Choose a reason for hiding this comment

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

No, we have not released 3.2.0 yet.


## 3.1.0 (2021-08)

Expand Down
175 changes: 156 additions & 19 deletions src/vmware/azext_vmware/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -499,79 +499,216 @@

helps['vmware workload-network dhcp'] = """
type: group
short-summary: Commands to manage a DHCP (Data Host Configuration Protocol) workload-network.
short-summary: Commands to manage a DHCP (Data Host Configuration Protocol) workload network.
"""

helps['vmware workload-network dhcp list'] = """
type: command
short-summary: List dhcp in a private cloud workload network.
short-summary: List DHCP in a private cloud workload network.
examples:
- name: List dhcp in a workload network.
- name: List DHCP in a workload network.
text: az vmware workload-network dhcp list --resource-group group1 --private-cloud cloud1
"""

helps['vmware workload-network dhcp show'] = """
type: command
short-summary: Get dhcp by id in a private cloud workload network.
short-summary: Get DHCP by ID in a private cloud workload network.
examples:
- name: Get dhcp by id in a workload network.
- name: Get DHCP by ID in a workload network.
text: az vmware workload-network dhcp show --resource-group group1 --private-cloud cloud1 --dhcp-id dhcp1
"""

helps['vmware workload-network dhcp relay'] = """
type: group
short-summary: Commands to manage a DHCP (Data Host Configuration Protocol) workload-network.
short-summary: Commands to manage a DHCP (Data Host Configuration Protocol) workload network.
"""

helps['vmware workload-network dhcp relay create'] = """
type: command
short-summary: Create dhcp by id in a private cloud workload network.
short-summary: Create DHCP by ID in a private cloud workload network.
examples:
- name: Create dhcp by id in a workload network.
- name: Create DHCP by ID in a workload network.
text: az vmware workload-network dhcp relay create --resource-group group1 --private-cloud cloud1 --dhcp-id dhcp1 --display-name dhcpConfigurations1 --revision 1 --server-addresses 40.1.5.1/24
"""

helps['vmware workload-network dhcp relay delete'] = """
type: command
short-summary: Delete dhcp by id in a private cloud workload network.
short-summary: Delete DHCP by ID in a private cloud workload network.
examples:
- name: Delete dhcp by id in a workload network.
- name: Delete DHCP by ID in a workload network.
text: az vmware workload-network dhcp relay delete --resource-group group1 --private-cloud cloud1 --dhcp-id dhcp1
"""

helps['vmware workload-network dhcp relay update'] = """
type: command
short-summary: Create or update dhcp by id in a private cloud workload network.
short-summary: Update DHCP by ID in a private cloud workload network.
examples:
- name: Create or update dhcp by id in a workload network.
- name: Update DHCP by ID in a workload network.
text: az vmware workload-network dhcp relay update --resource-group group1 --private-cloud cloud1 --dhcp-id dhcp1 --display-name dhcpConfigurations1 --revision 1 --server-addresses 40.1.5.1/24
"""

helps['vmware workload-network dhcp server'] = """
type: group
short-summary: Commands to manage a DHCP (Data Host Configuration Protocol) workload-network.
short-summary: Commands to manage a DHCP (Data Host Configuration Protocol) workload network.
"""

helps['vmware workload-network dhcp server create'] = """
type: command
short-summary: Create dhcp by id in a private cloud workload network.
short-summary: Create DHCP by ID in a private cloud workload network.
examples:
- name: Create dhcp by id in a workload network.
- name: Create DHCP by ID in a workload network.
text: az vmware workload-network dhcp server create --resource-group group1 --private-cloud cloud1 --dhcp-id dhcp1 --display-name dhcpConfigurations1 --revision 1 --server-address 40.1.5.1/24 --lease-time 86400
"""

helps['vmware workload-network dhcp server delete'] = """
type: command
short-summary: Delete dhcp by id in a private cloud workload network.
short-summary: Delete DHCP by ID in a private cloud workload network.
examples:
- name: Delete dhcp by id in a workload network.
- name: Delete DHCP by ID in a workload network.
text: az vmware workload-network dhcp server delete --resource-group group1 --private-cloud cloud1 --dhcp-id dhcp1
"""

helps['vmware workload-network dhcp server update'] = """
type: command
short-summary: Create or update dhcp by id in a private cloud workload network.
short-summary: Update DHCP by ID in a private cloud workload network.
examples:
- name: Create or update dhcp by id in a workload network.
- name: Update DHCP by ID in a workload network.
text: az vmware workload-network dhcp server update --resource-group group1 --private-cloud cloud1 --dhcp-id dhcp1 --display-name dhcpConfigurations1 --revision 1 --server-address 40.1.5.1/24 --lease-time 86400
"""


helps['vmware workload-network dns-service'] = """
type: group
short-summary: Commands to manage a DNS Service workload network.
"""


helps['vmware workload-network dns-service list'] = """
type: command
short-summary: List of DNS services in a private cloud workload network.
examples:
- name: List of DNS services in a workload network.
text: az vmware workload-network dns-service list --resource-group group1 --private-cloud cloud1
"""

helps['vmware workload-network dns-service show'] = """
type: command
short-summary: Get a DNS service by ID in a private cloud workload network.
examples:
- name: Get a DNS service by ID in a workload network.
text: az vmware workload-network dns-service show --resource-group group1 --private-cloud cloud1 --dns-service-id dnsService1
"""

helps['vmware workload-network dns-service create'] = """
type: command
short-summary: Create a DNS service by ID in a private cloud workload network.
examples:
- name: Create a DNS service by ID in a workload network.
text: az vmware workload-network dns-service create --resource-group group1 --private-cloud cloud1 --dns-service-id dnsService1 --display-name dnsService1 --dns-service-ip 5.5.5.5 --default-dns-zone defaultDnsZone1 --fqdn-zones fqdnZone1 --log-level INFO --revision 1
"""

helps['vmware workload-network dns-service update'] = """
type: command
short-summary: Update a DNS service by ID in a private cloud workload network.
examples:
- name: Update a DNS service by ID in a workload network.
text: az vmware workload-network dns-service update --resource-group group1 --private-cloud cloud1 --dns-service-id dnsService1 --display-name dnsService1 --dns-service-ip 5.5.5.5 --default-dns-zone defaultDnsZone1 --fqdn-zones fqdnZone1 --log-level INFO --revision 1
"""

helps['vmware workload-network dns-service delete'] = """
type: command
short-summary: Delete a DNS service by ID in a private cloud workload network.
examples:
- name: Delete a DNS service by ID in a workload network.
text: az vmware workload-network dns-service delete --resource-group group1 --private-cloud cloud1 --dns-service-id dnsService1
"""

helps['vmware workload-network dns-zone'] = """
type: group
short-summary: Commands to manage a DNS Zone workload network.
"""

helps['vmware workload-network dns-zone list'] = """
type: command
short-summary: List of DNS zones in a private cloud workload network.
examples:
- name: List of DNS zones in a workload network.
text: az vmware workload-network dns-zone list --resource-group group1 --private-cloud cloud1
"""

helps['vmware workload-network dns-zone show'] = """
type: command
short-summary: Get a DNS zone by ID in a private cloud workload network.
examples:
- name: Get a DNS zone by ID in a workload network.
text: az vmware workload-network dns-zone show --resource-group group1 --private-cloud cloud1 --dns-zone-id dnsZone1
"""

helps['vmware workload-network dns-zone create'] = """
type: command
short-summary: Create a DNS zone by ID in a private cloud workload network.
examples:
- name: Create a DNS zone by ID in a workload network.
text: az vmware workload-network dns-zone create --resource-group group1 --private-cloud cloud1 --dns-zone-id dnsZone1 --display-name dnsZone1 --domain domain1 --dns-server-ips 1.1.1.1 --source-ip 8.8.8.8 --dns-services 1 --revision 1
"""

helps['vmware workload-network dns-zone update'] = """
type: command
short-summary: Update a DNS zone by ID in a private cloud workload network.
examples:
- name: Update a DNS zone by ID in a workload network.
text: az vmware workload-network dns-zone update --resource-group group1 --private-cloud cloud1 --dns-zone-id dnsZone1 --display-name dnsZone1 --domain domain1 --dns-server-ips 1.1.1.1 --source-ip 8.8.8.8 --dns-services 1 --revision 1
"""

helps['vmware workload-network dns-zone delete'] = """
type: command
short-summary: Delete a DNS zone by ID in a private cloud workload network.
examples:
- name: Delete a DNS zone by ID in a workload network.
text: az vmware workload-network dns-zone delete --resource-group group1 --private-cloud cloud1 --dns-zone-id dnsZone1
"""

helps['vmware workload-network port-mirroring'] = """
type: group
short-summary: Commands to manage a Port Mirroring workload network.
"""

helps['vmware workload-network port-mirroring list'] = """
type: command
short-summary: List of port mirroring profiles in a private cloud workload network.
examples:
- name: List of port mirroring profiles in a workload network.
text: az vmware workload-network port-mirroring list --resource-group group1 --private-cloud cloud1
"""

helps['vmware workload-network port-mirroring show'] = """
type: command
short-summary: Get a port mirroring profile by ID in a private cloud workload network.
examples:
- name: Get a port mirroring profile by ID in a workload network.
text: az vmware workload-network port-mirroring show --resource-group group1 --private-cloud cloud1 --port-mirroring-id portMirroring1
"""

helps['vmware workload-network port-mirroring create'] = """
type: command
short-summary: Create a port mirroring profile by ID in a private cloud workload network.
examples:
- name: Create a port mirroring profile by ID in a workload network.
text: az vmware workload-network port-mirroring create --resource-group group1 --private-cloud cloud1 --port-mirroring-id portMirroring1 --display-name portMirroring1 --direction BIDIRECTIONAL --source vmGroup1 --destination vmGroup2 --revision 1
"""

helps['vmware workload-network port-mirroring update'] = """
type: command
short-summary: Update a port mirroring profile by ID in a private cloud workload network.
examples:
- name: Update a port mirroring profile by ID in a workload network.
text: az vmware workload-network port-mirroring update --resource-group group1 --private-cloud cloud1 --port-mirroring-id portMirroring1 --display-name portMirroring1 --direction BIDIRECTIONAL --source vmGroup1 --destination vmGroup2 --revision 1
"""

helps['vmware workload-network port-mirroring delete'] = """
type: command
short-summary: Delete a port mirroring profile by ID in a private cloud workload network.
examples:
- name: Delete a port mirroring profile by ID in a workload network.
text: az vmware workload-network port-mirroring delete --resource-group group1 --private-cloud cloud1 --port-mirroring-id portMirroring1
"""
27 changes: 27 additions & 0 deletions src/vmware/azext_vmware/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@


from azext_vmware.action import ScriptExecutionNamedOutputAction, ScriptExecutionParameterAction
from azure.cli.core.commands.parameters import get_enum_type
from ._validators import server_addresses_length


Expand Down Expand Up @@ -147,3 +148,29 @@ def load_arguments(self, _):

with self.argument_context('vmware workload-network dhcp relay') as c:
c.argument('server_addresses', nargs='+', validator=server_addresses_length, help='DHCP Relay Addresses. Max 3.')

with self.argument_context('vmware workload-network dns-service') as c:
c.argument('dns_service_id', help="NSX DNS service identifier. Generally the same as the DNS service's display name.")
c.argument('display_name', help='Display name of the DNS service.')
c.argument('dns_service_ip', help='DNS service IP of the DNS service.')
c.argument('default_dns_zone', help='Default DNS zone of the DNS service.')
c.argument('fqdn_zones', nargs='+', help='FQDN zones of the DNS service.')
c.argument('log_level', arg_type=get_enum_type(["DEBUG", "INFO", "WARNING", "ERROR", "FATAL"]), help='DNS service log level. Possible values include: "DEBUG", "INFO", "WARNING", "ERROR", "FATAL".')
c.argument('revision', help='NSX revision number.')

with self.argument_context('vmware workload-network dns-zone') as c:
c.argument('dns_zone_id', help="NSX DNS zone identifier. Generally the same as the DNS zone's display name.")
c.argument('display_name', help='Display name of the DNS zone.')
c.argument('domain', nargs='+', help='Domain names of the DNS zone.')
c.argument('dns_server_ips', nargs='+', help='DNS Server IP array of the DNS zone.')
c.argument('source_ip', help='Source IP of the DNS zone.')
c.argument('dns_services', help='Number of DNS services using the DNS zone.')
c.argument('revision', help='NSX revision number.')

with self.argument_context('vmware workload-network port-mirroring') as c:
c.argument('port_mirroring_id', help="NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name.")
c.argument('display_name', help='Display name of the port mirroring profile.')
c.argument('direction', help='Direction of port mirroring profile. Possible values include: "INGRESS, EGRESS, BIDIRECTIONAL".')
c.argument('source', help='Source VM Group.')
c.argument('destination', help='Destination VM Group.')
c.argument('revision', help='NSX revision number.')
21 changes: 21 additions & 0 deletions src/vmware/azext_vmware/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,24 @@ def load_command_table(self, _):
g.custom_command('create', 'workload_network_dhcp_relay_create')
g.custom_command('delete', 'workload_network_dhcp_delete')
g.custom_command('update', 'workload_network_dhcp_relay_update')

with self.command_group('vmware workload-network dns-service', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('list', 'workload_network_dns_services_list')
g.custom_show_command('show', 'workload_network_dns_services_get')
g.custom_command('create', 'workload_network_dns_services_create')
g.custom_command('update', 'workload_network_dns_services_update')
g.custom_command('delete', 'workload_network_dns_services_delete')

with self.command_group('vmware workload-network dns-zone', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('list', 'workload_network_dns_zone_list')
g.custom_show_command('show', 'workload_network_dns_zone_get')
g.custom_command('create', 'workload_network_dns_zone_create')
g.custom_command('update', 'workload_network_dns_zone_update')
g.custom_command('delete', 'workload_network_dns_zone_delete')

with self.command_group('vmware workload-network port-mirroring', vmware_sdk, client_factory=cf_vmware) as g:
g.custom_command('list', 'workload_network_port_mirroring_list')
g.custom_show_command('show', 'workload_network_port_mirroring_get')
g.custom_command('create', 'workload_network_port_mirroring_create')
g.custom_command('update', 'workload_network_port_mirroring_update')
g.custom_command('delete', 'workload_network_port_mirroring_delete')
Loading