private static void associateLoadBalancerToIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { Collection<LoadBalancerBackend> backends = loadBalancer.backends().values(); String[] backendNames = new String[backends.size()]; int i = 0; for (LoadBalancerBackend backend : backends) { backendNames[i] = backend.name(); i++; } associateBackEndsToIpConfiguration(loadBalancer.id(), ipConfig, backendNames); Collection<LoadBalancerInboundNatPool> inboundNatPools = loadBalancer.inboundNatPools().values(); String[] natPoolNames = new String[inboundNatPools.size()]; i = 0; for (LoadBalancerInboundNatPool inboundNatPool : inboundNatPools) { natPoolNames[i] = inboundNatPool.name(); i++; } associateInboundNATPoolsToIpConfiguration(loadBalancer.id(), ipConfig, natPoolNames); }
@Override public NicIPConfigurationImpl withExistingLoadBalancerInboundNatRule(LoadBalancer loadBalancer, String inboundNatRuleName) { if (loadBalancer != null) { for (InboundNatRuleInner rule : loadBalancer.inner().inboundNatRules()) { if (rule.name().equalsIgnoreCase(inboundNatRuleName)) { ensureInboundNatRules().add(rule); return this; } } } return null; }
@Override public List<String> primaryPublicIPAddressIds() throws IOException { LoadBalancer loadBalancer = this.getPrimaryInternetFacingLoadBalancer(); if (loadBalancer != null) { return loadBalancer.publicIPAddressIds(); } return new ArrayList<>(); }
private static Map<String, LoadBalancerInboundNatPool> getInboundNatPoolsAssociatedWithIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { String loadBalancerId = loadBalancer.id(); Map<String, LoadBalancerInboundNatPool> attachedInboundNatPools = new HashMap<>(); Map<String, LoadBalancerInboundNatPool> lbInboundNatPools = loadBalancer.inboundNatPools(); for (LoadBalancerInboundNatPool lbInboundNatPool : lbInboundNatPools.values()) { String inboundNatPoolId = mergePath(loadBalancerId, "inboundNatPools", lbInboundNatPool.name()); for (SubResource subResource : ipConfig.loadBalancerInboundNatPools()) { if (subResource.id().equalsIgnoreCase(inboundNatPoolId)) { attachedInboundNatPools.put(lbInboundNatPool.name(), lbInboundNatPool); } } } return attachedInboundNatPools; }
private static Map<String, LoadBalancerBackend> getBackendsAssociatedWithIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { String loadBalancerId = loadBalancer.id(); Map<String, LoadBalancerBackend> attachedBackends = new HashMap<>(); Map<String, LoadBalancerBackend> lbBackends = loadBalancer.backends(); for (LoadBalancerBackend lbBackend : lbBackends.values()) { String backendId = mergePath(loadBalancerId, "backendAddressPools", lbBackend.name()); for (SubResource subResource : ipConfig.loadBalancerBackendAddressPools()) { if (subResource.id().equalsIgnoreCase(backendId)) { attachedBackends.put(lbBackend.name(), lbBackend); } } } return attachedBackends; }
private static void removeAllBackendAssociationFromIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { List<SubResource> toRemove = new ArrayList<>(); for (SubResource subResource : ipConfig.loadBalancerBackendAddressPools()) { if (subResource.id().toLowerCase().startsWith(loadBalancer.id().toLowerCase() + "/")) { toRemove.add(subResource); } } for (SubResource subResource : toRemove) { ipConfig.loadBalancerBackendAddressPools().remove(subResource); } }
@Override public List<LoadBalancerBackend> listAssociatedLoadBalancerBackends() { final List<BackendAddressPoolInner> backendRefs = this.inner().loadBalancerBackendAddressPools(); if (backendRefs == null) { return Collections.unmodifiableList(new ArrayList<LoadBalancerBackend>()); } final Map<String, LoadBalancer> loadBalancers = new HashMap<>(); final List<LoadBalancerBackend> backends = new ArrayList<>(); for (BackendAddressPoolInner backendRef : backendRefs) { String loadBalancerId = ResourceUtils.parentResourceIdFromResourceId(backendRef.id()); LoadBalancer loadBalancer = loadBalancers.get(loadBalancerId.toLowerCase()); if (loadBalancer == null) { loadBalancer = this.networkManager.loadBalancers().getById(loadBalancerId); loadBalancers.put(loadBalancerId.toLowerCase(), loadBalancer); } String backendName = ResourceUtils.nameFromResourceId(backendRef.id()); backends.add(loadBalancer.backends().get(backendName)); } return Collections.unmodifiableList(backends); }
@Override public VirtualMachineScaleSetImpl withExistingPrimaryInternalLoadBalancer(LoadBalancer loadBalancer) { if (!loadBalancer.publicIPAddressIds().isEmpty()) { throw new IllegalArgumentException("Parameter loadBalancer must be an internal load balancer"); for (LoadBalancerPrivateFrontend frontEnd : loadBalancer.privateFrontends().values()) { if (frontEnd.networkId() != null) { lbNetworkId = frontEnd.networkId();
@Override public LoadBalancerPublicFrontend getAssignedLoadBalancerFrontend() { if (this.hasAssignedLoadBalancer()) { final String refId = this.inner().ipConfiguration().id(); final String loadBalancerId = ResourceUtils.parentResourceIdFromResourceId(refId); final LoadBalancer lb = this.myManager.loadBalancers().getById(loadBalancerId); final String frontendName = ResourceUtils.nameFromResourceId(refId); return (LoadBalancerPublicFrontend) lb.frontends().get(frontendName); } else { return null; } }
@Override public List<LoadBalancerInboundNatRule> listAssociatedLoadBalancerInboundNatRules() { final List<InboundNatRuleInner> inboundNatPoolRefs = this.inner().loadBalancerInboundNatRules(); if (inboundNatPoolRefs == null) { return Collections.unmodifiableList(new ArrayList<LoadBalancerInboundNatRule>()); } final Map<String, LoadBalancer> loadBalancers = new HashMap<>(); final List<LoadBalancerInboundNatRule> rules = new ArrayList<>(); for (InboundNatRuleInner ref : inboundNatPoolRefs) { String loadBalancerId = ResourceUtils.parentResourceIdFromResourceId(ref.id()); LoadBalancer loadBalancer = loadBalancers.get(loadBalancerId.toLowerCase()); if (loadBalancer == null) { loadBalancer = this.networkManager.loadBalancers().getById(loadBalancerId); loadBalancers.put(loadBalancerId.toLowerCase(), loadBalancer); } String ruleName = ResourceUtils.nameFromResourceId(ref.id()); rules.add(loadBalancer.inboundNatRules().get(ruleName)); } return Collections.unmodifiableList(rules); } }
private static Map<String, LoadBalancerBackend> getBackendsAssociatedWithIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { String loadBalancerId = loadBalancer.id(); Map<String, LoadBalancerBackend> attachedBackends = new HashMap<>(); Map<String, LoadBalancerBackend> lbBackends = loadBalancer.backends(); for (LoadBalancerBackend lbBackend : lbBackends.values()) { String backendId = mergePath(loadBalancerId, "backendAddressPools", lbBackend.name()); for (SubResource subResource : ipConfig.loadBalancerBackendAddressPools()) { if (subResource.id().equalsIgnoreCase(backendId)) { attachedBackends.put(lbBackend.name(), lbBackend); } } } return attachedBackends; }
private static void removeAllInboundNatPoolAssociationFromIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { List<SubResource> toRemove = new ArrayList<>(); for (SubResource subResource : ipConfig.loadBalancerInboundNatPools()) { if (subResource.id().toLowerCase().startsWith(loadBalancer.id().toLowerCase() + "/")) { toRemove.add(subResource); } } for (SubResource subResource : toRemove) { ipConfig.loadBalancerInboundNatPools().remove(subResource); } }
private static Map<String, LoadBalancerInboundNatPool> getInboundNatPoolsAssociatedWithIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { String loadBalancerId = loadBalancer.id(); Map<String, LoadBalancerInboundNatPool> attachedInboundNatPools = new HashMap<>(); Map<String, LoadBalancerInboundNatPool> lbInboundNatPools = loadBalancer.inboundNatPools(); for (LoadBalancerInboundNatPool lbInboundNatPool : lbInboundNatPools.values()) { String inboundNatPoolId = mergePath(loadBalancerId, "inboundNatPools", lbInboundNatPool.name()); for (SubResource subResource : ipConfig.loadBalancerInboundNatPools()) { if (subResource.id().equalsIgnoreCase(inboundNatPoolId)) { attachedInboundNatPools.put(lbInboundNatPool.name(), lbInboundNatPool); } } } return attachedInboundNatPools; }
@Override public List<LoadBalancerBackend> listAssociatedLoadBalancerBackends() { final List<BackendAddressPoolInner> backendRefs = this.inner().loadBalancerBackendAddressPools(); if (backendRefs == null) { return Collections.unmodifiableList(new ArrayList<LoadBalancerBackend>()); } final Map<String, LoadBalancer> loadBalancers = new HashMap<>(); final List<LoadBalancerBackend> backends = new ArrayList<>(); for (BackendAddressPoolInner backendRef : backendRefs) { String loadBalancerId = ResourceUtils.parentResourceIdFromResourceId(backendRef.id()); LoadBalancer loadBalancer = loadBalancers.get(loadBalancerId.toLowerCase()); if (loadBalancer == null) { loadBalancer = this.networkManager.loadBalancers().getById(loadBalancerId); loadBalancers.put(loadBalancerId.toLowerCase(), loadBalancer); } String backendName = ResourceUtils.nameFromResourceId(backendRef.id()); backends.add(loadBalancer.backends().get(backendName)); } return Collections.unmodifiableList(backends); }
@Override public VirtualMachineScaleSetImpl withExistingPrimaryInternalLoadBalancer(LoadBalancer loadBalancer) { if (!loadBalancer.publicIPAddressIds().isEmpty()) { throw new IllegalArgumentException("Parameter loadBalancer must be an internal load balancer"); for (LoadBalancerPrivateFrontend frontEnd : loadBalancer.privateFrontends().values()) { if (frontEnd.networkId() != null) { lbNetworkId = frontEnd.networkId();
@Override public LoadBalancerPublicFrontend getAssignedLoadBalancerFrontend() { if (this.hasAssignedLoadBalancer()) { final String refId = this.inner().ipConfiguration().id(); final String loadBalancerId = ResourceUtils.parentResourceIdFromResourceId(refId); final LoadBalancer lb = this.myManager.loadBalancers().getById(loadBalancerId); final String frontendName = ResourceUtils.nameFromResourceId(refId); return (LoadBalancerPublicFrontend) lb.frontends().get(frontendName); } else { return null; } }
@Override public List<LoadBalancerInboundNatRule> listAssociatedLoadBalancerInboundNatRules() { final List<InboundNatRuleInner> inboundNatPoolRefs = this.inner().loadBalancerInboundNatRules(); if (inboundNatPoolRefs == null) { return Collections.unmodifiableList(new ArrayList<LoadBalancerInboundNatRule>()); } final Map<String, LoadBalancer> loadBalancers = new HashMap<>(); final List<LoadBalancerInboundNatRule> rules = new ArrayList<>(); for (InboundNatRuleInner ref : inboundNatPoolRefs) { String loadBalancerId = ResourceUtils.parentResourceIdFromResourceId(ref.id()); LoadBalancer loadBalancer = loadBalancers.get(loadBalancerId.toLowerCase()); if (loadBalancer == null) { loadBalancer = this.networkManager.loadBalancers().getById(loadBalancerId); loadBalancers.put(loadBalancerId.toLowerCase(), loadBalancer); } String ruleName = ResourceUtils.nameFromResourceId(ref.id()); rules.add(loadBalancer.inboundNatRules().get(ruleName)); } return Collections.unmodifiableList(rules); } }
private static void associateLoadBalancerToIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { Collection<LoadBalancerBackend> backends = loadBalancer.backends().values(); String[] backendNames = new String[backends.size()]; int i = 0; for (LoadBalancerBackend backend : backends) { backendNames[i] = backend.name(); i++; } associateBackEndsToIpConfiguration(loadBalancer.id(), ipConfig, backendNames); Collection<LoadBalancerInboundNatPool> inboundNatPools = loadBalancer.inboundNatPools().values(); String[] natPoolNames = new String[inboundNatPools.size()]; i = 0; for (LoadBalancerInboundNatPool inboundNatPool : inboundNatPools) { natPoolNames[i] = inboundNatPool.name(); i++; } associateInboundNATPoolsToIpConfiguration(loadBalancer.id(), ipConfig, natPoolNames); }
private static void removeAllBackendAssociationFromIpConfiguration(LoadBalancer loadBalancer, VirtualMachineScaleSetIPConfiguration ipConfig) { List<SubResource> toRemove = new ArrayList<>(); for (SubResource subResource : ipConfig.loadBalancerBackendAddressPools()) { if (subResource.id().toLowerCase().startsWith(loadBalancer.id().toLowerCase() + "/")) { toRemove.add(subResource); } } for (SubResource subResource : toRemove) { ipConfig.loadBalancerBackendAddressPools().remove(subResource); } }
@Override public List<String> primaryPublicIPAddressIds() throws IOException { LoadBalancer loadBalancer = this.getPrimaryInternetFacingLoadBalancer(); if (loadBalancer != null) { return loadBalancer.publicIPAddressIds(); } return new ArrayList<>(); }