Lines Matching refs:namespace

53     def _validate_asg_name_or_id(cmd, namespace):  argument
55 resource_group = namespace.resource_group_name
56 names_or_ids = getattr(namespace, dest)
67 namespace='Microsoft.Network', type='applicationSecurityGroups',
71 setattr(namespace, dest, ids)
77 def _validate_subscription_list(cmd, namespace): argument
78 val = getattr(namespace, dest, None)
82 setattr(namespace, dest, model(subscriptions=val))
90 def _validate_vnet_name_or_id(cmd, namespace): argument
94 resource_group = namespace.resource_group_name
95 names_or_ids = getattr(namespace, dest)
106 namespace='Microsoft.Network', type='virtualNetworks',
110 setattr(namespace, dest, ids)
115 def _validate_vpn_gateway_generation(namespace): argument
116 if namespace.gateway_type != 'Vpn' and namespace.vpn_gateway_generation:
120 def validate_vpn_connection_name_or_id(cmd, namespace): argument
121 if namespace.vpn_connection_ids:
123 for index, vpn_connection_id in enumerate(namespace.vpn_connection_ids):
125 namespace.vpn_connection_ids[index] = resource_id(
127 resource_group=namespace.resource_group_name,
128 namespace='Microsoft.Network',
134 def validate_ddos_name_or_id(cmd, namespace): argument
135 if namespace.ddos_protection_plan:
137 if not is_valid_resource_id(namespace.ddos_protection_plan):
138 namespace.ddos_protection_plan = resource_id(
140 resource_group=namespace.resource_group_name,
141 namespace='Microsoft.Network', type='ddosProtectionPlans',
142 name=namespace.ddos_protection_plan
152 def _generate_ag_subproperty_id(cli_ctx, namespace, child_type, child_name, subscription=None): argument
156 resource_group=namespace.resource_group_name,
157 namespace='Microsoft.Network',
159 name=namespace.application_gateway_name,
164 def _generate_lb_subproperty_id(cli_ctx, namespace, child_type, child_name, subscription=None): argument
168 resource_group=namespace.resource_group_name,
169 namespace='Microsoft.Network',
171 name=namespace.load_balancer_name,
176 def _generate_lb_id_list_from_names_or_ids(cli_ctx, namespace, prop, child_type): argument
178 raw = getattr(namespace, prop)
187 if not namespace.load_balancer_name:
191 cli_ctx, namespace, child_type, item)})
192 setattr(namespace, prop, result)
195 def validate_address_pool_id_list(cmd, namespace): argument
197 cmd.cli_ctx, namespace, 'load_balancer_backend_address_pool_ids', 'backendAddressPools')
200 def validate_address_pool_name_or_id(cmd, namespace): argument
202 address_pool = namespace.backend_address_pool
203 lb_name = namespace.load_balancer_name
204 gateway_name = namespace.application_gateway_name
214 namespace.load_balancer_name = parts['name']
216 namespace.application_gateway_name = parts['name']
224 namespace.backend_address_pool = _generate_lb_subproperty_id(
225 cmd.cli_ctx, namespace, 'backendAddressPools', address_pool)
227 namespace.backend_address_pool = _generate_ag_subproperty_id(
228 cmd.cli_ctx, namespace, 'backendAddressPools', address_pool)
231 def validate_address_prefixes(namespace): argument
232 if namespace.subnet_type != 'new':
233 validate_parameter_set(namespace,
249 def validate_cert(namespace): argument
250 if namespace.cert_data:
251 namespace.cert_data = read_base_64_file(namespace.cert_data)
254 def validate_trusted_client_cert(namespace): argument
255 if namespace.client_cert_data is None or namespace.client_cert_name is None:
257 namespace.client_cert_data = read_base_64_file(namespace.client_cert_data)
260 def validate_ssl_cert(namespace): argument
261 params = [namespace.cert_data, namespace.cert_password]
262 if all(not x for x in params) and not namespace.key_vault_secret_id:
264 if not namespace.frontend_port:
265 namespace.frontend_port = 80
267 if namespace.key_vault_secret_id:
270 if not namespace.cert_data:
275 namespace.cert_data = read_base_64_file(namespace.cert_data)
279 if not namespace.frontend_port:
280 namespace.frontend_port = 443
286 def validate_delegations(cmd, namespace): argument
287 if namespace.delegations:
290 for i, item in enumerate(namespace.delegations):
296 namespace.delegations = delegations
299 def validate_dns_record_type(namespace): argument
300 tokens = namespace.command.split(' ')
304 if hasattr(namespace, 'record_type'):
305 namespace.record_type = token
307 namespace.record_set_type = token
311 def validate_user_assigned_identity(cmd, namespace): argument
314 …if namespace.user_assigned_identity and not is_valid_resource_id(namespace.user_assigned_identity):
315 namespace.user_assigned_identity = resource_id(
317 resource_group=namespace.resource_group_name,
318 namespace='Microsoft.ManagedIdentity',
320 name=namespace.user_assigned_identity
324 def validate_express_route_peering(cmd, namespace): argument
326 circuit = namespace.circuit_name
327 peering = namespace.peering
334 namespace.peering = resource_id(
336 resource_group=namespace.resource_group_name,
337 namespace='Microsoft.Network',
347 def validate_express_route_port(cmd, namespace): argument
349 if namespace.express_route_port and not is_valid_resource_id(namespace.express_route_port):
350 namespace.express_route_port = resource_id(
352 resource_group=namespace.resource_group_name,
353 namespace='Microsoft.Network',
355 name=namespace.express_route_port
359 def validate_virtul_network_gateway(cmd, namespace): argument
361 if namespace.hosted_gateway and not is_valid_resource_id(namespace.hosted_gateway):
362 namespace.hosted_gateway = resource_id(
364 resource_group=namespace.resource_group_name,
365 namespace='Microsoft.Network',
367 name=namespace.hosted_gateway
371 def validate_virtual_hub(cmd, namespace): argument
373 if namespace.virtual_hub and not is_valid_resource_id(namespace.virtual_hub):
374 namespace.virtual_hub = resource_id(
376 resource_group=namespace.resource_group_name,
377 namespace='Microsoft.Network',
379 name=namespace.virtual_hub
383 def validate_waf_policy(cmd, namespace): argument
385 if namespace.firewall_policy and not is_valid_resource_id(namespace.firewall_policy):
386 namespace.firewall_policy = resource_id(
388 resource_group=namespace.resource_group_name,
389 namespace='Microsoft.Network',
391 name=namespace.firewall_policy
396 def validator(namespace): argument
397 return validate_circuit_bandwidth(namespace, mbps=mbps)
402 def validate_circuit_bandwidth(namespace, mbps=True): argument
406 bandwidth = getattr(namespace, 'bandwidth_in_{}'.format(unit), None)
418 setattr(namespace, 'bandwidth_in_{}'.format(unit), float(bandwidth_comps[0]))
431 setattr(namespace, 'bandwidth_in_{}'.format(unit), converted_bandwidth)
436 def validate_er_peer_circuit(cmd, namespace): argument
439 if not is_valid_resource_id(namespace.peer_circuit):
442 resource_group=namespace.resource_group_name,
443 namespace='Microsoft.Network',
445 name=namespace.peer_circuit,
447 child_name_1=namespace.peering_name)
449 peer_id = namespace.peer_circuit
452 if namespace.peering_name not in peer_id:
453 peer_id = '{}/peerings/{}'.format(peer_id, namespace.peering_name)
455 namespace.peer_circuit = peer_id
458 def validate_inbound_nat_rule_id_list(cmd, namespace): argument
460 cmd.cli_ctx, namespace, 'load_balancer_inbound_nat_rule_ids', 'inboundNatRules')
463 def validate_inbound_nat_rule_name_or_id(cmd, namespace): argument
465 rule_name = namespace.inbound_nat_rule
466 lb_name = namespace.load_balancer_name
474 namespace.inbound_nat_rule = _generate_lb_subproperty_id(
475 cmd.cli_ctx, namespace, 'inboundNatRules', rule_name)
478 def validate_ip_tags(cmd, namespace): argument
481 if namespace.ip_tags and IpTag:
483 for item in namespace.ip_tags:
486 namespace.ip_tags = ip_tags
489 def validate_frontend_ip_configs(cmd, namespace): argument
491 if namespace.frontend_ip_configurations:
493 for item in namespace.frontend_ip_configurations:
496 cmd.cli_ctx, namespace, 'frontendIpConfigurations', item))
499 namespace.frontend_ip_configurations = config_ids
502 def validate_local_gateway(cmd, namespace): argument
504 if namespace.gateway_default_site and not is_valid_resource_id(namespace.gateway_default_site):
505 namespace.gateway_default_site = resource_id(
507 resource_group=namespace.resource_group_name,
508 name=namespace.gateway_default_site,
509 namespace='Microsoft.Network',
513 def validate_match_variables(cmd, namespace): argument
514 if not namespace.match_variables:
519 for match in namespace.match_variables:
526 namespace.match_variables = variables
529 def validate_metadata(namespace): argument
530 if namespace.metadata:
531 namespace.metadata = dict(x.split('=', 1) for x in namespace.metadata)
534 def validate_peering_type(namespace): argument
535 if namespace.peering_type and namespace.peering_type == 'MicrosoftPeering':
537 if not namespace.advertised_public_prefixes:
542 def validate_public_ip_prefix(cmd, namespace): argument
544 if namespace.public_ip_prefix and not is_valid_resource_id(namespace.public_ip_prefix):
545 namespace.public_ip_prefix = resource_id(
547 resource_group=namespace.resource_group_name,
548 name=namespace.public_ip_prefix,
549 namespace='Microsoft.Network',
553 def validate_nat_gateway(cmd, namespace): argument
555 if namespace.nat_gateway and not is_valid_resource_id(namespace.nat_gateway):
556 namespace.nat_gateway = resource_id(
558 resource_group=namespace.resource_group_name,
559 name=namespace.nat_gateway,
560 namespace='Microsoft.Network',
564 def validate_private_ip_address(namespace): argument
565 if namespace.private_ip_address and hasattr(namespace, 'private_ip_address_allocation'):
566 namespace.private_ip_address_allocation = 'static'
569 def validate_route_filter(cmd, namespace): argument
571 if namespace.route_filter:
572 if not is_valid_resource_id(namespace.route_filter):
573 namespace.route_filter = resource_id(
575 resource_group=namespace.resource_group_name,
576 namespace='Microsoft.Network',
578 name=namespace.route_filter)
587 def simple_validator(cmd, namespace): argument
588 if namespace.public_ip_address:
589 is_list = isinstance(namespace.public_ip_address, list)
596 resource_group=namespace.resource_group_name,
597 namespace='Microsoft.Network',
602 for i, public_ip in enumerate(namespace.public_ip_address):
603 namespace.public_ip_address[i] = _validate_name_or_id(public_ip)
605 namespace.public_ip_address = _validate_name_or_id(namespace.public_ip_address)
607 def complex_validator_with_type(cmd, namespace): argument
610 allow_none=allow_none, allow_new=allow_new, default_none=default_none)(cmd, namespace)
619 def simple_validator(cmd, namespace): argument
620 if namespace.virtual_network_name is None and namespace.subnet is None:
622 if namespace.subnet == '':
626 if namespace.virtual_network_name and not namespace.subnet:
630 is_id = is_valid_resource_id(namespace.subnet)
633 if is_id and namespace.virtual_network_name:
635 if not is_id and not namespace.virtual_network_name:
639 namespace.subnet = resource_id(
641 resource_group=namespace.resource_group_name,
642 namespace='Microsoft.Network',
644 name=namespace.virtual_network_name,
646 child_name_1=namespace.subnet)
648 def complex_validator_with_type(cmd, namespace): argument
653 allow_none=allow_none, allow_new=allow_new, default_none=default_none)(cmd, namespace)
661 def simple_validator(cmd, namespace): argument
662 if namespace.network_security_group:
664 is_id = is_valid_resource_id(namespace.network_security_group)
666 namespace.network_security_group = resource_id(
668 resource_group=namespace.resource_group_name,
669 namespace='Microsoft.Network',
671 name=namespace.network_security_group)
673 def complex_validator_with_type(cmd, namespace): argument
676 allow_none=allow_none, allow_new=allow_new, default_none=default_none)(cmd, namespace)
681 def validate_service_endpoint_policy(cmd, namespace): argument
683 if namespace.service_endpoint_policy:
685 for policy in namespace.service_endpoint_policy:
689 resource_group=namespace.resource_group_name,
691 namespace='Microsoft.Network',
694 namespace.service_endpoint_policy = policy_ids
698 def validate_servers(namespace): argument
700 for item in namespace.servers if namespace.servers else []:
706 namespace.servers = servers if servers else None
711 def validate_subresource_list(cmd, namespace): argument
712 if namespace.target_resources:
715 for item in namespace.target_resources:
717 namespace.target_resources = subresources
720 def validate_target_listener(cmd, namespace): argument
722 if namespace.target_listener and not is_valid_resource_id(namespace.target_listener):
723 namespace.target_listener = resource_id(
725 resource_group=namespace.resource_group_name,
726 name=namespace.application_gateway_name,
727 namespace='Microsoft.Network',
730 child_name_1=namespace.target_listener)
733 def validate_private_dns_zone(cmd, namespace): argument
735 if namespace.private_dns_zone and not is_valid_resource_id(namespace.private_dns_zone):
736 namespace.private_dns_zone = resource_id(
738 resource_group=namespace.resource_group_name,
739 name=namespace.private_dns_zone,
740 namespace='Microsoft.Network',
748 def simple_validator(cmd, namespace): argument
749 if namespace.virtual_network:
751 is_id = is_valid_resource_id(namespace.virtual_network)
753 namespace.virtual_network = resource_id(
755 resource_group=namespace.resource_group_name,
756 namespace='Microsoft.Network',
758 name=namespace.virtual_network)
760 def complex_validator_with_type(cmd, namespace): argument
763 allow_none=allow_none, allow_new=allow_new, default_none=default_none)(cmd, namespace)
770 def process_ag_listener_create_namespace(cmd, namespace): # pylint: disable=unused-argument argument
772 if namespace.frontend_ip and not is_valid_resource_id(namespace.frontend_ip):
773 namespace.frontend_ip = _generate_ag_subproperty_id(
774 cmd.cli_ctx, namespace, 'frontendIpConfigurations', namespace.frontend_ip)
776 if namespace.frontend_port and not is_valid_resource_id(namespace.frontend_port):
777 namespace.frontend_port = _generate_ag_subproperty_id(
778 cmd.cli_ctx, namespace, 'frontendPorts', namespace.frontend_port)
780 if namespace.ssl_cert and not is_valid_resource_id(namespace.ssl_cert):
781 namespace.ssl_cert = _generate_ag_subproperty_id(
782 cmd.cli_ctx, namespace, 'sslCertificates', namespace.ssl_cert)
784 if namespace.firewall_policy and not is_valid_resource_id(namespace.firewall_policy):
785 namespace.firewall_policy = resource_id(
787 resource_group=namespace.resource_group_name,
788 namespace='Microsoft.Network',
790 name=namespace.firewall_policy
794 def process_ag_http_settings_create_namespace(cmd, namespace): # pylint: disable=unused-argument argument
796 if namespace.probe and not is_valid_resource_id(namespace.probe):
797 namespace.probe = _generate_ag_subproperty_id(
798 cmd.cli_ctx, namespace, 'probes', namespace.probe)
799 if namespace.auth_certs:
802 cmd.cli_ctx, namespace, 'authenticationCertificates', val)
804 namespace.auth_certs = [_validate_name_or_id(x) for x in namespace.auth_certs]
805 if namespace.root_certs:
808 cmd.cli_ctx, namespace, 'trustedRootCertificates', val)
810 namespace.root_certs = [_validate_name_or_id(x) for x in namespace.root_certs]
813 def process_ag_rule_create_namespace(cmd, namespace): # pylint: disable=unused-argument argument
815 if namespace.address_pool and not is_valid_resource_id(namespace.address_pool):
816 namespace.address_pool = _generate_ag_subproperty_id(
817 cmd.cli_ctx, namespace, 'backendAddressPools', namespace.address_pool)
819 if namespace.http_listener and not is_valid_resource_id(namespace.http_listener):
820 namespace.http_listener = _generate_ag_subproperty_id(
821 cmd.cli_ctx, namespace, 'httpListeners', namespace.http_listener)
823 if namespace.http_settings and not is_valid_resource_id(namespace.http_settings):
824 namespace.http_settings = _generate_ag_subproperty_id(
825 cmd.cli_ctx, namespace, 'backendHttpSettingsCollection', namespace.http_settings)
827 if namespace.url_path_map and not is_valid_resource_id(namespace.url_path_map):
828 namespace.url_path_map = _generate_ag_subproperty_id(
829 cmd.cli_ctx, namespace, 'urlPathMaps', namespace.url_path_map)
831 if namespace.redirect_config and not is_valid_resource_id(namespace.redirect_config):
832 namespace.redirect_config = _generate_ag_subproperty_id(
833 cmd.cli_ctx, namespace, 'redirectConfigurations', namespace.redirect_config)
835 if namespace.rewrite_rule_set and not is_valid_resource_id(namespace.rewrite_rule_set):
836 namespace.rewrite_rule_set = _generate_ag_subproperty_id(
837 cmd.cli_ctx, namespace, 'rewriteRuleSets', namespace.rewrite_rule_set)
840 def process_ag_ssl_policy_set_namespace(namespace): argument
841 if namespace.disabled_ssl_protocols and getattr(namespace, 'clear', None):
845 def process_ag_url_path_map_create_namespace(cmd, namespace): # pylint: disable=unused-argument argument
847 if namespace.default_address_pool and not is_valid_resource_id(namespace.default_address_pool):
848 namespace.default_address_pool = _generate_ag_subproperty_id(
849 cmd.cli_ctx, namespace, 'backendAddressPools', namespace.default_address_pool)
851 if namespace.default_http_settings and not is_valid_resource_id(
852 namespace.default_http_settings):
853 namespace.default_http_settings = _generate_ag_subproperty_id(
854 … cmd.cli_ctx, namespace, 'backendHttpSettingsCollection', namespace.default_http_settings)
856 if namespace.default_redirect_config and not is_valid_resource_id(
857 namespace.default_redirect_config):
858 namespace.default_redirect_config = _generate_ag_subproperty_id(
859 cmd.cli_ctx, namespace, 'redirectConfigurations', namespace.default_redirect_config)
861 if hasattr(namespace, 'firewall_policy') and \
862 namespace.firewall_policy and not is_valid_resource_id(namespace.firewall_policy):
863 namespace.firewall_policy = _generate_ag_subproperty_id(
864 cmd.cli_ctx, namespace, 'firewallPolicy', namespace.firewall_policy
867 …if namespace.default_rewrite_rule_set and not is_valid_resource_id(namespace.default_rewrite_rule_…
868 namespace.default_rewrite_rule_set = _generate_ag_subproperty_id(
869 cmd.cli_ctx, namespace, 'rewriteRuleSets', namespace.default_rewrite_rule_set)
871 if hasattr(namespace, 'rule_name'):
872 process_ag_url_path_map_rule_create_namespace(cmd, namespace)
875 def process_ag_url_path_map_rule_create_namespace(cmd, namespace): # pylint: disable=unused-argume… argument
877 if namespace.address_pool and not is_valid_resource_id(namespace.address_pool):
878 namespace.address_pool = _generate_ag_subproperty_id(
879 cmd.cli_ctx, namespace, 'backendAddressPools', namespace.address_pool)
881 if namespace.http_settings and not is_valid_resource_id(namespace.http_settings):
882 namespace.http_settings = _generate_ag_subproperty_id(
883 cmd.cli_ctx, namespace, 'backendHttpSettingsCollection', namespace.http_settings)
885 if namespace.redirect_config and not is_valid_resource_id(
886 namespace.redirect_config):
887 namespace.redirect_config = _generate_ag_subproperty_id(
888 cmd.cli_ctx, namespace, 'redirectConfigurations', namespace.redirect_config)
890 if namespace.rewrite_rule_set and not is_valid_resource_id(namespace.rewrite_rule_set):
891 namespace.rewrite_rule_set = _generate_ag_subproperty_id(
892 cmd.cli_ctx, namespace, 'rewriteRuleSets', namespace.rewrite_rule_set)
895 def process_ag_create_namespace(cmd, namespace): argument
896 get_default_location_from_resource_group(cmd, namespace)
897 get_servers_validator(camel_case=True)(namespace)
900 if namespace.subnet or namespace.virtual_network_name:
901 get_subnet_validator(has_type_field=True, allow_new=True)(cmd, namespace)
902 validate_address_prefixes(namespace)
903 if namespace.public_ip_address:
905 has_type_field=True, allow_none=True, allow_new=True, default_none=True)(cmd, namespace)
906 validate_ssl_cert(namespace)
907 validate_tags(namespace)
908 validate_custom_error_pages(namespace)
909 validate_waf_policy(cmd, namespace)
910 validate_user_assigned_identity(cmd, namespace)
913 def process_auth_create_namespace(cmd, namespace): argument
915 namespace.authorization_parameters = ExpressRouteCircuitAuthorization()
918 def process_lb_create_namespace(cmd, namespace): argument
919 get_default_location_from_resource_group(cmd, namespace)
920 validate_tags(namespace)
922 if namespace.subnet and namespace.public_ip_address:
927 if namespace.subnet:
930 has_type_field=True, allow_new=True, allow_none=True, default_none=True)(cmd, namespace)
932 namespace.public_ip_address_type = None
933 namespace.public_ip_address = None
937 … get_public_ip_validator(has_type_field=True, allow_none=True, allow_new=True)(cmd, namespace)
939 if namespace.public_ip_dns_name and namespace.public_ip_address_type != 'new':
943 namespace.subnet_type = None
944 namespace.subnet = None
945 namespace.virtual_network_name = None
948 def process_lb_frontend_ip_namespace(cmd, namespace): argument
950 if namespace.subnet and namespace.public_ip_address:
955 if namespace.public_ip_prefix:
956 if not is_valid_resource_id(namespace.public_ip_prefix):
957 namespace.public_ip_prefix = resource_id(
959 resource_group=namespace.resource_group_name,
960 namespace='Microsoft.Network',
962 name=namespace.public_ip_prefix)
964 if namespace.subnet:
965 get_subnet_validator()(cmd, namespace)
967 get_public_ip_validator()(cmd, namespace)
970 def process_cross_region_lb_create_namespace(cmd, namespace): argument
971 get_default_location_from_resource_group(cmd, namespace)
972 validate_tags(namespace)
975 get_public_ip_validator(has_type_field=True, allow_none=True, allow_new=True)(cmd, namespace)
977 if namespace.public_ip_dns_name and namespace.public_ip_address_type != 'new':
982 def process_cross_region_lb_frontend_ip_namespace(cmd, namespace): argument
985 if namespace.public_ip_prefix:
986 if not is_valid_resource_id(namespace.public_ip_prefix):
987 namespace.public_ip_prefix = resource_id(
989 resource_group=namespace.resource_group_name,
990 namespace='Microsoft.Network',
992 name=namespace.public_ip_prefix)
994 get_public_ip_validator()(cmd, namespace)
997 def process_local_gateway_create_namespace(cmd, namespace): argument
998 ns = namespace
1008 def process_nic_create_namespace(cmd, namespace): argument
1009 get_default_location_from_resource_group(cmd, namespace)
1010 validate_tags(namespace)
1012 validate_ag_address_pools(cmd, namespace)
1013 validate_address_pool_id_list(cmd, namespace)
1014 validate_inbound_nat_rule_id_list(cmd, namespace)
1015 get_asg_validator(cmd.loader, 'application_security_groups')(cmd, namespace)
1018 get_subnet_validator(has_type_field=False)(cmd, namespace)
1019 … get_public_ip_validator(has_type_field=False, allow_none=True, default_none=True)(cmd, namespace)
1020 get_nsg_validator(has_type_field=False, allow_none=True, default_none=True)(cmd, namespace)
1023 def process_public_ip_create_namespace(cmd, namespace): argument
1024 get_default_location_from_resource_group(cmd, namespace)
1025 validate_public_ip_prefix(cmd, namespace)
1026 validate_ip_tags(cmd, namespace)
1027 validate_tags(namespace)
1028 _inform_coming_breaking_change_for_public_ip(namespace)
1031 def _inform_coming_breaking_change_for_public_ip(namespace): argument
1032 if namespace.sku == 'Standard' and not namespace.zone:
1039 def process_route_table_create_namespace(cmd, namespace): argument
1040 get_default_location_from_resource_group(cmd, namespace)
1041 validate_tags(namespace)
1044 def process_tm_endpoint_create_namespace(cmd, namespace): argument
1048 profile = client.get(namespace.resource_group_name, namespace.profile_name)
1051 endpoint_type = namespace.endpoint_type
1062 validate_subnet_ranges(namespace)
1063 validate_custom_headers(namespace)
1088 …missing_options = [props_to_options[x] for x in required_options if getattr(namespace, x, None) is…
1090 getattr(namespace, x, None) is not None and x not in required_options]
1104 def process_vnet_create_namespace(cmd, namespace): argument
1105 get_default_location_from_resource_group(cmd, namespace)
1106 validate_ddos_name_or_id(cmd, namespace)
1107 validate_tags(namespace)
1108 get_nsg_validator()(cmd, namespace)
1110 if namespace.subnet_prefix and not namespace.subnet_name:
1115 if namespace.subnet_name and not namespace.subnet_prefix:
1116 if isinstance(namespace.vnet_prefixes, str):
1117 namespace.vnet_prefixes = [namespace.vnet_prefixes]
1118 prefix_components = namespace.vnet_prefixes[0].split('/', 1)
1123namespace.subnet_prefix = [subnet_prefix] if cmd.supported_api_version(min_api='2018-08-01') else …
1126 def _validate_cert(namespace, param_name): argument
1127 attr = getattr(namespace, param_name)
1129 setattr(namespace, param_name, read_base_64_file(attr))
1132 def process_vnet_gateway_create_namespace(cmd, namespace): argument
1133 ns = namespace
1155 _validate_cert(namespace, 'root_cert_data')
1158 def process_vnet_gateway_update_namespace(cmd, namespace): argument
1159 ns = namespace
1164 _validate_cert(namespace, 'root_cert_data')
1171 def process_vpn_connection_create_namespace(cmd, namespace): argument
1173 get_default_location_from_resource_group(cmd, namespace)
1174 validate_tags(namespace)
1176 args = [a for a in [namespace.express_route_circuit2,
1177 namespace.local_gateway2,
1178 namespace.vnet_gateway2]
1186 subscription = getattr(namespace, 'subscription', get_subscription_id(cmd.cli_ctx))
1189 resource_group=namespace.resource_group_name,
1190 namespace='Microsoft.Network',
1195 if (namespace.local_gateway2 or namespace.vnet_gateway2) and not namespace.shared_key:
1198 if namespace.express_route_circuit2 and namespace.shared_key:
1201 namespace.vnet_gateway1 = \
1202 _validate_name_or_id(namespace.vnet_gateway1, 'virtualNetworkGateways')
1204 if namespace.express_route_circuit2:
1205 namespace.express_route_circuit2 = \
1207 namespace.express_route_circuit2, 'expressRouteCircuits')
1208 namespace.connection_type = 'ExpressRoute'
1209 elif namespace.local_gateway2:
1210 namespace.local_gateway2 = \
1211 _validate_name_or_id(namespace.local_gateway2, 'localNetworkGateways')
1212 namespace.connection_type = 'IPSec'
1213 elif namespace.vnet_gateway2:
1214 namespace.vnet_gateway2 = \
1215 _validate_name_or_id(namespace.vnet_gateway2, 'virtualNetworkGateways')
1216 namespace.connection_type = 'Vnet2Vnet'
1220 def load_cert_validator(namespace): argument
1221 attr = getattr(namespace, param_name)
1223 setattr(namespace, param_name, read_base_64_file(attr))
1228 def get_network_watcher_from_vm(cmd, namespace): argument
1232 vm_name = parse_resource_id(namespace.vm)['name']
1233 vm = compute_client.get(namespace.resource_group_name, vm_name)
1234 namespace.location = vm.location # pylint: disable=no-member
1235 get_network_watcher_from_location()(cmd, namespace)
1238 def get_network_watcher_from_resource(cmd, namespace): argument
1240 resource = get_arm_resource_by_id(cmd.cli_ctx, namespace.resource)
1241 namespace.location = resource.location # pylint: disable=no-member
1242 get_network_watcher_from_location(remove=True)(cmd, namespace)
1247 def _validator(cmd, namespace): argument
1250 location = namespace.location
1256 setattr(namespace, rg_name, id_parts['resource_group'])
1257 setattr(namespace, watcher_name, id_parts['name'])
1260 del namespace.location
1265 def process_nw_cm_v1_create_namespace(cmd, namespace): argument
1268 validate_tags(namespace)
1271 vm_name = parse_resource_id(namespace.source_resource)['name']
1272 …rg = namespace.resource_group_name or parse_resource_id(namespace.source_resource).get('resource_g…
1276 namespace.location = vm.location # pylint: disable=no-member
1277 get_network_watcher_from_location()(cmd, namespace)
1279 if namespace.source_resource and not is_valid_resource_id(namespace.source_resource):
1280 namespace.source_resource = resource_id(
1283 namespace='Microsoft.Compute',
1285 name=namespace.source_resource)
1287 if namespace.dest_resource and not is_valid_resource_id(namespace.dest_resource):
1288 namespace.dest_resource = resource_id(
1290 resource_group=namespace.resource_group_name,
1291 namespace='Microsoft.Compute',
1293 name=namespace.dest_resource)
1296 def process_nw_cm_v2_create_namespace(cmd, namespace): argument
1297 … if namespace.location is None: # location is None only occurs in creating a V2 connection monitor
1298 endpoint_source_resource_id = namespace.endpoint_source_resource_id
1310 resource = parse_resource_id(namespace.endpoint_source_resource_id)
1316 …resource = resource_client.resources.get_by_id(namespace.endpoint_source_resource_id, resource_api…
1318 namespace.location = resource.location
1319 if namespace.location is None:
1326 if not hasattr(namespace, p) or getattr(namespace, p) is None:
1329 if namespace.test_config_protocol is None:
1333 if namespace.output_type is not None:
1334 tmp = [p for p in v2_optional_parameter_set if getattr(namespace, p) is None]
1338 return get_network_watcher_from_location()(cmd, namespace)
1341 def process_nw_cm_create_namespace(cmd, namespace): argument
1343 if namespace.source_resource is None:
1344 return process_nw_cm_v2_create_namespace(cmd, namespace)
1347 return process_nw_cm_v1_create_namespace(cmd, namespace)
1350 def process_nw_cm_v2_endpoint_namespace(cmd, namespace): argument
1351 if hasattr(namespace, 'filter_type') or hasattr(namespace, 'filter_items'):
1352 filter_type, filter_items = namespace.filter_type, namespace.filter_items
1356 if hasattr(namespace, 'dest_test_groups') or hasattr(namespace, 'source_test_groups'):
1357 … dest_test_groups, source_test_groups = namespace.dest_test_groups, namespace.source_test_groups
1362 return get_network_watcher_from_location()(cmd, namespace)
1365 def process_nw_cm_v2_test_configuration_namespace(cmd, namespace): argument
1366 return get_network_watcher_from_location()(cmd, namespace)
1369 def process_nw_cm_v2_test_group(cmd, namespace): argument
1370 return get_network_watcher_from_location()(cmd, namespace)
1373 def process_nw_cm_v2_output_namespace(cmd, namespace): argument
1375 if hasattr(namespace, 'out_type') and namespace.out_type is not None:
1376 tmp = [p for p in v2_output_optional_parameter_set if getattr(namespace, p) is None]
1380 return get_network_watcher_from_location()(cmd, namespace)
1385 def __call__(self, parser, namespace, values, option_string=None): argument
1386 …ConnectionMonitorEndpointFilterItem = namespace._cmd.get_models('ConnectionMonitorEndpointFilterIt…
1388 if not namespace.filter_items:
1389 namespace.filter_items = []
1406 namespace.filter_items.append(filter_item)
1411 def __call__(self, parser, namespace, values, option_string=None): argument
1412 HTTPHeader = namespace._cmd.get_models('HTTPHeader')
1414 if not namespace.http_request_headers:
1415 namespace.http_request_headers = []
1430 namespace.http_request_headers.append(request_header)
1433 def process_nw_test_connectivity_namespace(cmd, namespace): argument
1437 vm_name = parse_resource_id(namespace.source_resource)['name']
1438 …rg = namespace.resource_group_name or parse_resource_id(namespace.source_resource).get('resource_g…
1442 namespace.location = vm.location # pylint: disable=no-member
1443 get_network_watcher_from_location(remove=True)(cmd, namespace)
1445 if namespace.source_resource and not is_valid_resource_id(namespace.source_resource):
1446 namespace.source_resource = resource_id(
1449 namespace='Microsoft.Compute',
1451 name=namespace.source_resource)
1453 if namespace.dest_resource and not is_valid_resource_id(namespace.dest_resource):
1454 namespace.dest_resource = resource_id(
1456 resource_group=namespace.resource_group_name,
1457 namespace='Microsoft.Compute',
1459 name=namespace.dest_resource)
1461 if namespace.headers:
1464 for item in namespace.headers:
1469 namespace.headers = headers
1472 def process_nw_flow_log_create_namespace(cmd, namespace): argument
1479 if namespace.resource_group_name is None:
1482 if namespace.nsg and not is_valid_resource_id(namespace.nsg):
1485 if namespace.storage_account and not is_valid_resource_id(namespace.storage_account):
1488 …if namespace.traffic_analytics_workspace and not is_valid_resource_id(namespace.traffic_analytics_…
1495 if namespace.nsg and not is_valid_resource_id(namespace.nsg):
1498 'resource_group': namespace.resource_group_name,
1501 'name': namespace.nsg
1503 namespace.nsg = resource_id(**kwargs)
1506 if namespace.storage_account and not is_valid_resource_id(namespace.storage_account):
1509 'resource_group': namespace.resource_group_name,
1512 'name': namespace.storage_account
1514 namespace.storage_account = resource_id(**kwargs)
1517 …if namespace.traffic_analytics_workspace and not is_valid_resource_id(namespace.traffic_analytics_…
1520 'resource_group': namespace.resource_group_name,
1523 'name': namespace.traffic_analytics_workspace
1525 namespace.traffic_analytics_workspace = resource_id(**kwargs)
1527 get_network_watcher_from_location(remove=False)(cmd, namespace)
1529 validate_tags(namespace)
1532 def process_nw_flow_log_set_namespace(cmd, namespace): argument
1534 if namespace.storage_account and not is_valid_resource_id(namespace.storage_account):
1535 namespace.storage_account = resource_id(
1537 resource_group=namespace.resource_group_name,
1538 namespace='Microsoft.Storage',
1540 name=namespace.storage_account)
1541 …if namespace.traffic_analytics_workspace and not is_valid_resource_id(namespace.traffic_analytics_…
1542 namespace.traffic_analytics_workspace = resource_id(
1544 resource_group=namespace.resource_group_name,
1545 namespace='Microsoft.OperationalInsights',
1547 name=namespace.traffic_analytics_workspace)
1549 process_nw_flow_log_show_namespace(cmd, namespace)
1552 def process_nw_flow_log_show_namespace(cmd, namespace): argument
1556 if hasattr(namespace, 'nsg') and namespace.nsg is not None:
1557 if not is_valid_resource_id(namespace.nsg):
1558 namespace.nsg = resource_id(
1560 resource_group=namespace.resource_group_name,
1561 namespace='Microsoft.Network',
1563 name=namespace.nsg)
1565 nsg = get_arm_resource_by_id(cmd.cli_ctx, namespace.nsg)
1566 namespace.location = nsg.location # pylint: disable=no-member
1567 get_network_watcher_from_location(remove=True)(cmd, namespace)
1568 elif namespace.flow_log_name is not None and namespace.location is not None:
1569 get_network_watcher_from_location(remove=False)(cmd, namespace)
1574 def process_nw_topology_namespace(cmd, namespace): argument
1579 location = namespace.location
1580 rg = namespace.target_resource_group_name
1581 vnet = namespace.target_vnet
1582 subnet = namespace.target_subnet
1599 namespace.target_subnet = SubResource(id=subnet)
1604 namespace='Microsoft.Network',
1610 namespace.target_resource_group_name = None
1611 namespace.target_vnet = None
1612 namespace.target_subnet = SubResource(id=subnet_id)
1622 namespace.target_vnet = SubResource(id=vnet)
1627 namespace='Microsoft.Network',
1631 namespace.target_resource_group_name = None
1632 namespace.target_vnet = SubResource(id=vnet_id)
1641 namespace.location = resource_group.location # pylint: disable=no-member
1644 … remove=True, watcher_name='network_watcher_name', rg_name='resource_group_name')(cmd, namespace)
1647 def process_nw_packet_capture_create_namespace(cmd, namespace): argument
1649 get_network_watcher_from_vm(cmd, namespace)
1653 if not namespace.storage_account and not namespace.file_path:
1656 if namespace.storage_path and not namespace.storage_account:
1659 if not is_valid_resource_id(namespace.vm):
1660 namespace.vm = resource_id(
1662 resource_group=namespace.resource_group_name,
1663 namespace='Microsoft.Compute',
1665 name=namespace.vm)
1667 if namespace.storage_account and not is_valid_resource_id(namespace.storage_account):
1668 namespace.storage_account = resource_id(
1670 resource_group=namespace.resource_group_name,
1671 namespace='Microsoft.Storage',
1673 name=namespace.storage_account)
1675 if namespace.file_path:
1676 file_path = namespace.file_path
1680 namespace.file_path = file_path
1683 def process_nw_troubleshooting_start_namespace(cmd, namespace): argument
1686 if namespace.storage_path and not namespace.storage_account:
1689 if not is_valid_resource_id(namespace.storage_account):
1690 namespace.storage_account = resource_id(
1692 resource_group=namespace.resource_group_name,
1693 namespace='Microsoft.Storage',
1695 name=namespace.storage_account)
1697 process_nw_troubleshooting_show_namespace(cmd, namespace)
1700 def process_nw_troubleshooting_show_namespace(cmd, namespace): argument
1704 id_params = [namespace.resource_type, namespace.resource_group_name]
1705 if not is_valid_resource_id(namespace.resource):
1712 namespace.resource = resource_id(
1714 resource_group=namespace.resource_group_name,
1715 namespace='Microsoft.Network',
1716 type=type_map[namespace.resource_type],
1717 name=namespace.resource)
1722 get_network_watcher_from_resource(cmd, namespace)
1725 def process_nw_config_diagnostic_namespace(cmd, namespace): argument
1733 id_params = [namespace.resource_type, namespace.resource_group_name]
1734 if not is_valid_resource_id(namespace.resource):
1743 resource_namespace = NAMESPACES[namespace.resource_type]
1744 if namespace.parent:
1748 namespace.resource = resource_id(
1750 resource_group=namespace.resource_group_name,
1751 namespace=resource_namespace,
1752 type=namespace.resource_type,
1753 parent=namespace.parent,
1754 name=namespace.resource)
1755 elif any(id_params) or namespace.parent:
1761 … query_params = [namespace.destination, namespace.source, namespace.direction, namespace.protocol,
1762 namespace.destination_port]
1763 if namespace.queries:
1769 get_network_watcher_from_resource(cmd, namespace)
1772 def process_lb_outbound_rule_namespace(cmd, namespace): argument
1775 validate_frontend_ip_configs(cmd, namespace)
1777 if namespace.backend_address_pool:
1778 if not is_valid_resource_id(namespace.backend_address_pool):
1779 namespace.backend_address_pool = _generate_lb_subproperty_id(
1780 cmd.cli_ctx, namespace, 'backendAddressPools', namespace.backend_address_pool)
1783 def process_list_delegations_namespace(cmd, namespace): argument
1784 if not namespace.resource_group_name and not namespace.location:
1787 if not namespace.location:
1788 get_default_location_from_resource_group(cmd, namespace)
1791 def validate_ag_address_pools(cmd, namespace): argument
1793 address_pools = namespace.app_gateway_backend_address_pools
1794 gateway_name = namespace.application_gateway_name
1795 delattr(namespace, 'application_gateway_name')
1806 resource_group=namespace.resource_group_name,
1807 namespace='Microsoft.Network',
1813 namespace.app_gateway_backend_address_pools = ids
1816 def validate_custom_error_pages(namespace): argument
1817 if not namespace.custom_error_pages:
1821 for item in namespace.custom_error_pages:
1827 namespace.custom_error_pages = values
1830 def validate_custom_headers(namespace): argument
1831 if not namespace.monitor_custom_headers:
1835 for item in namespace.monitor_custom_headers:
1842 namespace.monitor_custom_headers = values
1845 def validate_status_code_ranges(namespace): argument
1846 if not namespace.status_code_ranges:
1850 for item in namespace.status_code_ranges:
1863 namespace.status_code_ranges = values
1866 def validate_subnet_ranges(namespace): argument
1867 if not namespace.subnets:
1871 for item in namespace.subnets:
1890 namespace.subnets = values
1895 def __call__(self, parser, namespace, values, option_string=None): argument
1896 cmd = namespace._cmd # pylint: disable=protected-access
1898 if not namespace.exclusions:
1899 namespace.exclusions = []
1906 namespace.exclusions.append(ApplicationGatewayFirewallExclusion(
1914 def validator(namespace): argument
1915 values = getattr(namespace, dest, None)
1926 setattr(namespace, dest, results)
1931 def process_private_link_resource_id_argument(cmd, namespace): argument
1932 if all([namespace.resource_group_name,
1933 namespace.name,
1934 namespace.resource_provider]):
1936 del namespace.id
1939 if not (namespace.id or all([namespace.resource_group_name,
1940 namespace.name,
1941 namespace.resource_provider])):
1945 if not is_valid_resource_id(namespace.id):
1947 split_resource_id = parse_resource_id(namespace.id)
1949 namespace.resource_group_name = split_resource_id['resource_group']
1950 namespace.name = split_resource_id['name']
1951namespace.resource_provider = '{}/{}'.format(split_resource_id['namespace'], split_resource_id['ty…
1952 del namespace.id
1955 def process_private_endpoint_connection_id_argument(cmd, namespace): argument
1957 if all([namespace.resource_group_name,
1958 namespace.name,
1959 namespace.resource_provider,
1960 namespace.resource_name]):
1962 del namespace.connection_id
1965 if not (namespace.connection_id or all([namespace.resource_group_name,
1966 namespace.name,
1967 namespace.resource_provider,
1968 namespace.resource_name])):
1971 result = parse_proxy_resource_id(namespace.connection_id)
1973 namespace.resource_group_name = result['resource_group']
1974 namespace.resource_name = result['name']
1975 namespace.resource_provider = '{}/{}'.format(result['namespace'], result['type'])
1976 namespace.name = result['child_name_1']
1977 del namespace.connection_id
1980 def process_vnet_name_or_id(cmd, namespace): argument
1982 if namespace.vnet and not is_valid_resource_id(namespace.vnet):
1983 namespace.vnet = resource_id(
1985 resource_group=namespace.resource_group_name,
1986 namespace='Microsoft.Network',
1988 name=namespace.vnet)
1991 def process_appgw_waf_policy_update(cmd, namespace): # pylint: disable=unused-argument argument
1992 rule_group_name = namespace.rule_group_name
1993 rules = namespace.rules