com.azure.resourcemanager.network.implementation.NetworksImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-network Show documentation
Show all versions of azure-resourcemanager-network Show documentation
This package contains Microsoft Azure Network Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.resourcemanager.network.implementation;
import com.azure.resourcemanager.network.NetworkManager;
import com.azure.resourcemanager.network.fluent.VirtualNetworksClient;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.fluent.models.VirtualNetworkInner;
import com.azure.resourcemanager.network.models.AddressSpace;
import com.azure.resourcemanager.network.models.DhcpOptions;
import com.azure.resourcemanager.network.models.Network;
import com.azure.resourcemanager.network.models.Networks;
import com.azure.resourcemanager.resources.fluentcore.arm.collection.implementation.TopLevelModifiableResourcesImpl;
import java.util.ArrayList;
/** Implementation for Networks. */
public class NetworksImpl
extends TopLevelModifiableResourcesImpl<
Network, NetworkImpl, VirtualNetworkInner, VirtualNetworksClient, NetworkManager>
implements Networks {
public NetworksImpl(final NetworkManager networkManager) {
super(networkManager.serviceClient().getVirtualNetworks(), networkManager);
}
@Override
public NetworkImpl define(String name) {
return wrapModel(name);
}
// Fluent model create helpers
@Override
protected NetworkImpl wrapModel(String name) {
VirtualNetworkInner inner = new VirtualNetworkInner();
// Initialize address space
AddressSpace addressSpace = inner.addressSpace();
if (addressSpace == null) {
addressSpace = new AddressSpace();
inner.withAddressSpace(addressSpace);
}
if (addressSpace.addressPrefixes() == null) {
addressSpace.withAddressPrefixes(new ArrayList());
}
// Initialize subnets
if (inner.subnets() == null) {
inner.withSubnets(new ArrayList());
}
// Initialize DHCP options (DNS servers)
DhcpOptions dhcp = inner.dhcpOptions();
if (dhcp == null) {
dhcp = new DhcpOptions();
inner.withDhcpOptions(dhcp);
}
if (dhcp.dnsServers() == null) {
dhcp.withDnsServers(new ArrayList());
}
return new NetworkImpl(name, inner, super.manager());
}
@Override
protected NetworkImpl wrapModel(VirtualNetworkInner inner) {
if (inner == null) {
return null;
}
return new NetworkImpl(inner.name(), inner, this.manager());
}
}