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
722f956
added commands for workload-network dhcp
jonathanhe-msft Sep 8, 2021
b37281e
set limit of 3 on server_addresses and updated moved specific argumen…
jonathanhe-msft Sep 8, 2021
b1bbc2e
removed comments
jonathanhe-msft Sep 8, 2021
775dbb0
updated error type for server_messages validation
jonathanhe-msft Sep 9, 2021
38f86c9
removed comments and styling
jonathanhe-msft Sep 9, 2021
957199d
Merge branch 'main' into jonathanhe/workload-network
jonathanhe-msft Sep 10, 2021
31d213c
added dns-server commands
jonathanhe-msft Sep 10, 2021
abdeca0
added dns-zone commands
jonathanhe-msft Sep 14, 2021
834d297
allow dhcp server and relay calls with None parameters
jonathanhe-msft Sep 14, 2021
339bd77
Merge branch 'jonathanhe/workload-network' into jonathanhe/workload-n…
jonathanhe-msft Sep 14, 2021
99b4574
added workload_network dns-zone commands
jonathanhe-msft Sep 14, 2021
3c30cc1
Update src/vmware/CHANGELOG.md
zhoxing-ms Sep 15, 2021
9b2dec6
renamed dhcp test files to workload-network
jonathanhe-msft Sep 15, 2021
42bc120
merged with main
jonathanhe-msft Sep 15, 2021
0afef5f
Merge branch 'jonathanhe/workload-network' of https://github.com/jona…
jonathanhe-msft Sep 15, 2021
39708dc
added port-mirroring and renamed dhcp test file to workloadnetwork
jonathanhe-msft Sep 16, 2021
11f2334
updated changelog
jonathanhe-msft Sep 16, 2021
1b795ff
updated help and param text based on comments
jonathanhe-msft Sep 16, 2021
33c2876
fixed parameter typo
jonathanhe-msft Sep 21, 2021
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