def content()

in src/azure-cli/azure/cli/command_modules/servicefabric/aaz/latest/network/lb/_create.py [0:0]


        def content(self):
            _content_value, _builder = self.new_content_builder(
                self.ctx.args,
                typ=AAZObjectType,
                typ_kwargs={"flags": {"required": True, "client_flatten": True}}
            )
            _CreateHelper._build_schema_extended_location_create(_builder.set_prop("extendedLocation", AAZObjectType, ".extended_location"))
            _builder.set_prop("id", AAZStrType, ".id")
            _builder.set_prop("location", AAZStrType, ".location")
            _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
            _builder.set_prop("sku", AAZObjectType, ".sku")
            _builder.set_prop("tags", AAZDictType, ".tags")

            properties = _builder.get(".properties")
            if properties is not None:
                properties.set_prop("backendAddressPools", AAZListType, ".backend_address_pools")
                properties.set_prop("frontendIPConfigurations", AAZListType, ".frontend_ip_configurations")
                properties.set_prop("inboundNatPools", AAZListType, ".inbound_nat_pools")
                properties.set_prop("inboundNatRules", AAZListType, ".inbound_nat_rules")
                properties.set_prop("loadBalancingRules", AAZListType, ".load_balancing_rules")
                properties.set_prop("outboundRules", AAZListType, ".outbound_rules")
                properties.set_prop("probes", AAZListType, ".probes")

            backend_address_pools = _builder.get(".properties.backendAddressPools")
            if backend_address_pools is not None:
                backend_address_pools.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.backendAddressPools[]")
            if _elements is not None:
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.backendAddressPools[].properties")
            if properties is not None:
                properties.set_prop("drainPeriodInSeconds", AAZIntType, ".drain_period_in_seconds")
                properties.set_prop("loadBalancerBackendAddresses", AAZListType, ".load_balancer_backend_addresses")
                properties.set_prop("location", AAZStrType, ".location")
                properties.set_prop("tunnelInterfaces", AAZListType, ".tunnel_interfaces")

            load_balancer_backend_addresses = _builder.get(".properties.backendAddressPools[].properties.loadBalancerBackendAddresses")
            if load_balancer_backend_addresses is not None:
                load_balancer_backend_addresses.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.backendAddressPools[].properties.loadBalancerBackendAddresses[]")
            if _elements is not None:
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.backendAddressPools[].properties.loadBalancerBackendAddresses[].properties")
            if properties is not None:
                properties.set_prop("adminState", AAZStrType, ".admin_state")
                properties.set_prop("ipAddress", AAZStrType, ".ip_address")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("loadBalancerFrontendIPConfiguration", AAZObjectType, ".load_balancer_frontend_ip_configuration"))
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("subnet", AAZObjectType, ".subnet"))
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("virtualNetwork", AAZObjectType, ".virtual_network"))

            tunnel_interfaces = _builder.get(".properties.backendAddressPools[].properties.tunnelInterfaces")
            if tunnel_interfaces is not None:
                tunnel_interfaces.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.backendAddressPools[].properties.tunnelInterfaces[]")
            if _elements is not None:
                _elements.set_prop("identifier", AAZIntType, ".identifier")
                _elements.set_prop("port", AAZIntType, ".port")
                _elements.set_prop("protocol", AAZStrType, ".protocol")
                _elements.set_prop("type", AAZStrType, ".type")

            frontend_ip_configurations = _builder.get(".properties.frontendIPConfigurations")
            if frontend_ip_configurations is not None:
                frontend_ip_configurations.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                _elements.set_prop("zones", AAZListType, ".zones")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties")
            if properties is not None:
                properties.set_prop("gatewayLoadBalancer", AAZObjectType)
                properties.set_prop("privateIPAddress", AAZStrType, ".private_ip_address")
                properties.set_prop("privateIPAddressVersion", AAZStrType, ".private_ip_address_version")
                properties.set_prop("privateIPAllocationMethod", AAZStrType, ".private_ip_allocation_method")
                properties.set_prop("publicIPAddress", AAZObjectType, ".public_ip_address")
                properties.set_prop("publicIPPrefix", AAZObjectType)
                properties.set_prop("subnet", AAZObjectType, ".subnet")

            gateway_load_balancer = _builder.get(".properties.frontendIPConfigurations[].properties.gatewayLoadBalancer")
            if gateway_load_balancer is not None:
                gateway_load_balancer.set_prop("id", AAZStrType, ".gateway_lb")

            public_ip_address = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress")
            if public_ip_address is not None:
                _CreateHelper._build_schema_extended_location_create(public_ip_address.set_prop("extendedLocation", AAZObjectType, ".extended_location"))
                public_ip_address.set_prop("id", AAZStrType, ".id")
                public_ip_address.set_prop("location", AAZStrType, ".location")
                public_ip_address.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                public_ip_address.set_prop("sku", AAZObjectType, ".sku")
                public_ip_address.set_prop("tags", AAZDictType, ".tags")
                public_ip_address.set_prop("zones", AAZListType, ".zones")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties")
            if properties is not None:
                properties.set_prop("ddosSettings", AAZObjectType, ".ddos_settings")
                properties.set_prop("deleteOption", AAZStrType, ".delete_option")
                properties.set_prop("dnsSettings", AAZObjectType, ".dns_settings")
                properties.set_prop("idleTimeoutInMinutes", AAZIntType, ".idle_timeout_in_minutes")
                properties.set_prop("ipAddress", AAZStrType, ".ip_address")
                properties.set_prop("ipTags", AAZListType, ".ip_tags")
                properties.set_prop("migrationPhase", AAZStrType, ".migration_phase")
                properties.set_prop("natGateway", AAZObjectType, ".nat_gateway")
                properties.set_prop("publicIPAddressVersion", AAZStrType, ".public_ip_address_version")
                properties.set_prop("publicIPAllocationMethod", AAZStrType, ".public_ip_allocation_method")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("publicIPPrefix", AAZObjectType, ".public_ip_prefix"))

            ddos_settings = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.ddosSettings")
            if ddos_settings is not None:
                _CreateHelper._build_schema_sub_resource_create(ddos_settings.set_prop("ddosProtectionPlan", AAZObjectType, ".ddos_protection_plan"))
                ddos_settings.set_prop("protectionMode", AAZStrType, ".protection_mode")

            dns_settings = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.dnsSettings")
            if dns_settings is not None:
                dns_settings.set_prop("domainNameLabel", AAZStrType, ".domain_name_label")
                dns_settings.set_prop("fqdn", AAZStrType, ".fqdn")
                dns_settings.set_prop("reverseFqdn", AAZStrType, ".reverse_fqdn")

            ip_tags = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.ipTags")
            if ip_tags is not None:
                ip_tags.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.ipTags[]")
            if _elements is not None:
                _elements.set_prop("ipTagType", AAZStrType, ".ip_tag_type")
                _elements.set_prop("tag", AAZStrType, ".tag")

            nat_gateway = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.natGateway")
            if nat_gateway is not None:
                nat_gateway.set_prop("id", AAZStrType, ".id")
                nat_gateway.set_prop("location", AAZStrType, ".location")
                nat_gateway.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                nat_gateway.set_prop("sku", AAZObjectType, ".sku")
                nat_gateway.set_prop("tags", AAZDictType, ".tags")
                nat_gateway.set_prop("zones", AAZListType, ".zones")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.natGateway.properties")
            if properties is not None:
                properties.set_prop("idleTimeoutInMinutes", AAZIntType, ".idle_timeout_in_minutes")
                properties.set_prop("publicIpAddresses", AAZListType, ".public_ip_addresses")
                properties.set_prop("publicIpPrefixes", AAZListType, ".public_ip_prefixes")

            public_ip_addresses = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses")
            if public_ip_addresses is not None:
                _CreateHelper._build_schema_sub_resource_create(public_ip_addresses.set_elements(AAZObjectType, "."))

            public_ip_prefixes = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes")
            if public_ip_prefixes is not None:
                _CreateHelper._build_schema_sub_resource_create(public_ip_prefixes.set_elements(AAZObjectType, "."))

            sku = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.natGateway.sku")
            if sku is not None:
                sku.set_prop("name", AAZStrType, ".name")

            tags = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.natGateway.tags")
            if tags is not None:
                tags.set_elements(AAZStrType, ".")

            zones = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.properties.natGateway.zones")
            if zones is not None:
                zones.set_elements(AAZStrType, ".")

            sku = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.sku")
            if sku is not None:
                sku.set_prop("name", AAZStrType, ".name")
                sku.set_prop("tier", AAZStrType, ".tier")

            tags = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.tags")
            if tags is not None:
                tags.set_elements(AAZStrType, ".")

            zones = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPAddress.zones")
            if zones is not None:
                zones.set_elements(AAZStrType, ".")

            public_ip_prefix = _builder.get(".properties.frontendIPConfigurations[].properties.publicIPPrefix")
            if public_ip_prefix is not None:
                public_ip_prefix.set_prop("id", AAZStrType, ".public_ip_prefix")

            subnet = _builder.get(".properties.frontendIPConfigurations[].properties.subnet")
            if subnet is not None:
                subnet.set_prop("id", AAZStrType, ".id")
                subnet.set_prop("name", AAZStrType, ".name")
                subnet.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                subnet.set_prop("type", AAZStrType, ".type")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties")
            if properties is not None:
                properties.set_prop("addressPrefix", AAZStrType, ".address_prefix")
                properties.set_prop("addressPrefixes", AAZListType, ".address_prefixes")
                properties.set_prop("applicationGatewayIpConfigurations", AAZListType, ".application_gateway_ip_configurations")
                properties.set_prop("delegations", AAZListType, ".delegations")
                properties.set_prop("ipAllocations", AAZListType, ".ip_allocations")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("natGateway", AAZObjectType, ".nat_gateway"))
                properties.set_prop("networkSecurityGroup", AAZObjectType, ".network_security_group")
                properties.set_prop("privateEndpointNetworkPolicies", AAZStrType, ".private_endpoint_network_policies")
                properties.set_prop("privateLinkServiceNetworkPolicies", AAZStrType, ".private_link_service_network_policies")
                properties.set_prop("routeTable", AAZObjectType, ".route_table")
                properties.set_prop("serviceEndpointPolicies", AAZListType, ".service_endpoint_policies")
                properties.set_prop("serviceEndpoints", AAZListType, ".service_endpoints")

            address_prefixes = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.addressPrefixes")
            if address_prefixes is not None:
                address_prefixes.set_elements(AAZStrType, ".")

            application_gateway_ip_configurations = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.applicationGatewayIpConfigurations")
            if application_gateway_ip_configurations is not None:
                application_gateway_ip_configurations.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.applicationGatewayIpConfigurations[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.applicationGatewayIpConfigurations[].properties")
            if properties is not None:
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("subnet", AAZObjectType, ".subnet"))

            delegations = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.delegations")
            if delegations is not None:
                delegations.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.delegations[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                _elements.set_prop("type", AAZStrType, ".type")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.delegations[].properties")
            if properties is not None:
                properties.set_prop("serviceName", AAZStrType, ".service_name")

            ip_allocations = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.ipAllocations")
            if ip_allocations is not None:
                _CreateHelper._build_schema_sub_resource_create(ip_allocations.set_elements(AAZObjectType, "."))

            network_security_group = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup")
            if network_security_group is not None:
                network_security_group.set_prop("id", AAZStrType, ".id")
                network_security_group.set_prop("location", AAZStrType, ".location")
                network_security_group.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                network_security_group.set_prop("tags", AAZDictType, ".tags")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties")
            if properties is not None:
                properties.set_prop("flushConnection", AAZBoolType, ".flush_connection")
                properties.set_prop("securityRules", AAZListType, ".security_rules")

            security_rules = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules")
            if security_rules is not None:
                security_rules.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                _elements.set_prop("type", AAZStrType, ".type")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[].properties")
            if properties is not None:
                properties.set_prop("access", AAZStrType, ".access", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("description", AAZStrType, ".description")
                properties.set_prop("destinationAddressPrefix", AAZStrType, ".destination_address_prefix")
                properties.set_prop("destinationAddressPrefixes", AAZListType, ".destination_address_prefixes")
                properties.set_prop("destinationApplicationSecurityGroups", AAZListType, ".destination_application_security_groups")
                properties.set_prop("destinationPortRange", AAZStrType, ".destination_port_range")
                properties.set_prop("destinationPortRanges", AAZListType, ".destination_port_ranges")
                properties.set_prop("direction", AAZStrType, ".direction", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("priority", AAZIntType, ".priority")
                properties.set_prop("protocol", AAZStrType, ".protocol", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("sourceAddressPrefix", AAZStrType, ".source_address_prefix")
                properties.set_prop("sourceAddressPrefixes", AAZListType, ".source_address_prefixes")
                properties.set_prop("sourceApplicationSecurityGroups", AAZListType, ".source_application_security_groups")
                properties.set_prop("sourcePortRange", AAZStrType, ".source_port_range")
                properties.set_prop("sourcePortRanges", AAZListType, ".source_port_ranges")

            destination_address_prefixes = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[].properties.destinationAddressPrefixes")
            if destination_address_prefixes is not None:
                destination_address_prefixes.set_elements(AAZStrType, ".")

            destination_application_security_groups = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[].properties.destinationApplicationSecurityGroups")
            if destination_application_security_groups is not None:
                _CreateHelper._build_schema_application_security_group_create(destination_application_security_groups.set_elements(AAZObjectType, "."))

            destination_port_ranges = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[].properties.destinationPortRanges")
            if destination_port_ranges is not None:
                destination_port_ranges.set_elements(AAZStrType, ".")

            source_address_prefixes = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[].properties.sourceAddressPrefixes")
            if source_address_prefixes is not None:
                source_address_prefixes.set_elements(AAZStrType, ".")

            source_application_security_groups = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[].properties.sourceApplicationSecurityGroups")
            if source_application_security_groups is not None:
                _CreateHelper._build_schema_application_security_group_create(source_application_security_groups.set_elements(AAZObjectType, "."))

            source_port_ranges = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.properties.securityRules[].properties.sourcePortRanges")
            if source_port_ranges is not None:
                source_port_ranges.set_elements(AAZStrType, ".")

            tags = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.networkSecurityGroup.tags")
            if tags is not None:
                tags.set_elements(AAZStrType, ".")

            route_table = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.routeTable")
            if route_table is not None:
                route_table.set_prop("id", AAZStrType, ".id")
                route_table.set_prop("location", AAZStrType, ".location")
                route_table.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                route_table.set_prop("tags", AAZDictType, ".tags")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.routeTable.properties")
            if properties is not None:
                properties.set_prop("disableBgpRoutePropagation", AAZBoolType, ".disable_bgp_route_propagation")
                properties.set_prop("routes", AAZListType, ".routes")

            routes = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.routeTable.properties.routes")
            if routes is not None:
                routes.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.routeTable.properties.routes[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                _elements.set_prop("type", AAZStrType, ".type")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.routeTable.properties.routes[].properties")
            if properties is not None:
                properties.set_prop("addressPrefix", AAZStrType, ".address_prefix")
                properties.set_prop("hasBgpOverride", AAZBoolType, ".has_bgp_override")
                properties.set_prop("nextHopIpAddress", AAZStrType, ".next_hop_ip_address")
                properties.set_prop("nextHopType", AAZStrType, ".next_hop_type", typ_kwargs={"flags": {"required": True}})

            tags = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.routeTable.tags")
            if tags is not None:
                tags.set_elements(AAZStrType, ".")

            service_endpoint_policies = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies")
            if service_endpoint_policies is not None:
                service_endpoint_policies.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("location", AAZStrType, ".location")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                _elements.set_prop("tags", AAZDictType, ".tags")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[].properties")
            if properties is not None:
                properties.set_prop("contextualServiceEndpointPolicies", AAZListType, ".contextual_service_endpoint_policies")
                properties.set_prop("serviceAlias", AAZStrType, ".service_alias")
                properties.set_prop("serviceEndpointPolicyDefinitions", AAZListType, ".service_endpoint_policy_definitions")

            contextual_service_endpoint_policies = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[].properties.contextualServiceEndpointPolicies")
            if contextual_service_endpoint_policies is not None:
                contextual_service_endpoint_policies.set_elements(AAZStrType, ".")

            service_endpoint_policy_definitions = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[].properties.serviceEndpointPolicyDefinitions")
            if service_endpoint_policy_definitions is not None:
                service_endpoint_policy_definitions.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[].properties.serviceEndpointPolicyDefinitions[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                _elements.set_prop("type", AAZStrType, ".type")

            properties = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[].properties.serviceEndpointPolicyDefinitions[].properties")
            if properties is not None:
                properties.set_prop("description", AAZStrType, ".description")
                properties.set_prop("service", AAZStrType, ".service")
                properties.set_prop("serviceResources", AAZListType, ".service_resources")

            service_resources = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[].properties.serviceEndpointPolicyDefinitions[].properties.serviceResources")
            if service_resources is not None:
                service_resources.set_elements(AAZStrType, ".")

            tags = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpointPolicies[].tags")
            if tags is not None:
                tags.set_elements(AAZStrType, ".")

            service_endpoints = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpoints")
            if service_endpoints is not None:
                service_endpoints.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpoints[]")
            if _elements is not None:
                _elements.set_prop("locations", AAZListType, ".locations")
                _elements.set_prop("service", AAZStrType, ".service")

            locations = _builder.get(".properties.frontendIPConfigurations[].properties.subnet.properties.serviceEndpoints[].locations")
            if locations is not None:
                locations.set_elements(AAZStrType, ".")

            zones = _builder.get(".properties.frontendIPConfigurations[].zones")
            if zones is not None:
                zones.set_elements(AAZStrType, ".")

            inbound_nat_pools = _builder.get(".properties.inboundNatPools")
            if inbound_nat_pools is not None:
                inbound_nat_pools.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.inboundNatPools[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.inboundNatPools[].properties")
            if properties is not None:
                properties.set_prop("backendPort", AAZIntType, ".backend_port", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("enableFloatingIP", AAZBoolType, ".enable_floating_ip")
                properties.set_prop("enableTcpReset", AAZBoolType, ".enable_tcp_reset")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("frontendIPConfiguration", AAZObjectType, ".frontend_ip_configuration"))
                properties.set_prop("frontendPortRangeEnd", AAZIntType, ".frontend_port_range_end", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("frontendPortRangeStart", AAZIntType, ".frontend_port_range_start", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("idleTimeoutInMinutes", AAZIntType, ".idle_timeout_in_minutes")
                properties.set_prop("protocol", AAZStrType, ".protocol", typ_kwargs={"flags": {"required": True}})

            inbound_nat_rules = _builder.get(".properties.inboundNatRules")
            if inbound_nat_rules is not None:
                inbound_nat_rules.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.inboundNatRules[]")
            if _elements is not None:
                _elements.set_prop("id", AAZStrType, ".id")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.inboundNatRules[].properties")
            if properties is not None:
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("backendAddressPool", AAZObjectType, ".backend_address_pool"))
                properties.set_prop("backendPort", AAZIntType, ".backend_port")
                properties.set_prop("enableFloatingIP", AAZBoolType, ".enable_floating_ip")
                properties.set_prop("enableTcpReset", AAZBoolType, ".enable_tcp_reset")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("frontendIPConfiguration", AAZObjectType, ".frontend_ip_configuration"))
                properties.set_prop("frontendPort", AAZIntType, ".frontend_port")
                properties.set_prop("frontendPortRangeEnd", AAZIntType, ".frontend_port_range_end")
                properties.set_prop("frontendPortRangeStart", AAZIntType, ".frontend_port_range_start")
                properties.set_prop("idleTimeoutInMinutes", AAZIntType, ".idle_timeout_in_minutes")
                properties.set_prop("protocol", AAZStrType, ".protocol")

            load_balancing_rules = _builder.get(".properties.loadBalancingRules")
            if load_balancing_rules is not None:
                load_balancing_rules.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.loadBalancingRules[]")
            if _elements is not None:
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.loadBalancingRules[].properties")
            if properties is not None:
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("backendAddressPool", AAZObjectType, ".backend_address_pool"))
                properties.set_prop("backendAddressPools", AAZListType, ".backend_address_pools")
                properties.set_prop("backendPort", AAZIntType, ".backend_port")
                properties.set_prop("disableOutboundSnat", AAZBoolType, ".disable_outbound_snat")
                properties.set_prop("enableFloatingIP", AAZBoolType, ".enable_floating_ip")
                properties.set_prop("enableTcpReset", AAZBoolType, ".enable_tcp_reset")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("frontendIPConfiguration", AAZObjectType, ".frontend_ip_configuration"))
                properties.set_prop("frontendPort", AAZIntType, ".frontend_port", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("idleTimeoutInMinutes", AAZIntType, ".idle_timeout_in_minutes")
                properties.set_prop("loadDistribution", AAZStrType, ".load_distribution")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("probe", AAZObjectType, ".probe"))
                properties.set_prop("protocol", AAZStrType, ".protocol", typ_kwargs={"flags": {"required": True}})

            backend_address_pools = _builder.get(".properties.loadBalancingRules[].properties.backendAddressPools")
            if backend_address_pools is not None:
                _CreateHelper._build_schema_sub_resource_create(backend_address_pools.set_elements(AAZObjectType, "."))

            outbound_rules = _builder.get(".properties.outboundRules")
            if outbound_rules is not None:
                outbound_rules.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.outboundRules[]")
            if _elements is not None:
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.outboundRules[].properties")
            if properties is not None:
                properties.set_prop("allocatedOutboundPorts", AAZIntType, ".allocated_outbound_ports")
                _CreateHelper._build_schema_sub_resource_create(properties.set_prop("backendAddressPool", AAZObjectType, ".backend_address_pool", typ_kwargs={"flags": {"required": True}}))
                properties.set_prop("enableTcpReset", AAZBoolType, ".enable_tcp_reset")
                properties.set_prop("frontendIPConfigurations", AAZListType, ".frontend_ip_configurations", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("idleTimeoutInMinutes", AAZIntType, ".idle_timeout_in_minutes")
                properties.set_prop("protocol", AAZStrType, ".protocol", typ_kwargs={"flags": {"required": True}})

            frontend_ip_configurations = _builder.get(".properties.outboundRules[].properties.frontendIPConfigurations")
            if frontend_ip_configurations is not None:
                _CreateHelper._build_schema_sub_resource_create(frontend_ip_configurations.set_elements(AAZObjectType, "."))

            probes = _builder.get(".properties.probes")
            if probes is not None:
                probes.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.probes[]")
            if _elements is not None:
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            properties = _builder.get(".properties.probes[].properties")
            if properties is not None:
                properties.set_prop("intervalInSeconds", AAZIntType, ".interval_in_seconds")
                properties.set_prop("numberOfProbes", AAZIntType, ".number_of_probes")
                properties.set_prop("port", AAZIntType, ".port", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("probeThreshold", AAZIntType, ".probe_threshold")
                properties.set_prop("protocol", AAZStrType, ".protocol", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("requestPath", AAZStrType, ".request_path")

            sku = _builder.get(".sku")
            if sku is not None:
                sku.set_prop("name", AAZStrType, ".name")
                sku.set_prop("tier", AAZStrType, ".tier")

            tags = _builder.get(".tags")
            if tags is not None:
                tags.set_elements(AAZStrType, ".")

            return self.serialize_content(_content_value)