
com.pulumi.azurenative.networkcloud.L3Network Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.networkcloud;
import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.networkcloud.L3NetworkArgs;
import com.pulumi.azurenative.networkcloud.outputs.ExtendedLocationResponse;
import com.pulumi.azurenative.networkcloud.outputs.SystemDataResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Azure REST API version: 2023-10-01-preview. Prior API version in Azure Native 1.x: 2022-12-12-preview.
*
* Other available API versions: 2023-07-01, 2024-06-01-preview, 2024-07-01.
*
* ## Example Usage
* ### Create or update L3 network
*
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.networkcloud.L3Network;
* import com.pulumi.azurenative.networkcloud.L3NetworkArgs;
* import com.pulumi.azurenative.networkcloud.inputs.ExtendedLocationArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
*
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
*
* public static void stack(Context ctx) {
* var l3Network = new L3Network("l3Network", L3NetworkArgs.builder()
* .extendedLocation(ExtendedLocationArgs.builder()
* .name("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName")
* .type("CustomLocation")
* .build())
* .interfaceName("eth0")
* .ipAllocationType("DualStack")
* .ipv4ConnectedPrefix("198.51.100.0/24")
* .ipv6ConnectedPrefix("2001:db8::/64")
* .l3IsolationDomainId("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName")
* .l3NetworkName("l3NetworkName")
* .location("location")
* .resourceGroupName("resourceGroupName")
* .tags(Map.ofEntries(
* Map.entry("key1", "myvalue1"),
* Map.entry("key2", "myvalue2")
* ))
* .vlan(12)
* .build());
*
* }
* }
*
* }
*
*
* ## Import
*
* An existing resource can be imported using its type token, name, and identifier, e.g.
*
* ```sh
* $ pulumi import azure-native:networkcloud:L3Network l3NetworkName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l3Networks/{l3NetworkName}
* ```
*
*/
@ResourceType(type="azure-native:networkcloud:L3Network")
public class L3Network extends com.pulumi.resources.CustomResource {
/**
* The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.
*
*/
@Export(name="associatedResourceIds", refs={List.class,String.class}, tree="[0,1]")
private Output> associatedResourceIds;
/**
* @return The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.
*
*/
public Output> associatedResourceIds() {
return this.associatedResourceIds;
}
/**
* The resource ID of the Network Cloud cluster this L3 network is associated with.
*
*/
@Export(name="clusterId", refs={String.class}, tree="[0]")
private Output clusterId;
/**
* @return The resource ID of the Network Cloud cluster this L3 network is associated with.
*
*/
public Output clusterId() {
return this.clusterId;
}
/**
* The more detailed status of the L3 network.
*
*/
@Export(name="detailedStatus", refs={String.class}, tree="[0]")
private Output detailedStatus;
/**
* @return The more detailed status of the L3 network.
*
*/
public Output detailedStatus() {
return this.detailedStatus;
}
/**
* The descriptive message about the current detailed status.
*
*/
@Export(name="detailedStatusMessage", refs={String.class}, tree="[0]")
private Output detailedStatusMessage;
/**
* @return The descriptive message about the current detailed status.
*
*/
public Output detailedStatusMessage() {
return this.detailedStatusMessage;
}
/**
* The extended location of the cluster associated with the resource.
*
*/
@Export(name="extendedLocation", refs={ExtendedLocationResponse.class}, tree="[0]")
private Output extendedLocation;
/**
* @return The extended location of the cluster associated with the resource.
*
*/
public Output extendedLocation() {
return this.extendedLocation;
}
/**
* Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource IDs that are associated with this L3 network.
*
*/
@Export(name="hybridAksClustersAssociatedIds", refs={List.class,String.class}, tree="[0,1]")
private Output> hybridAksClustersAssociatedIds;
/**
* @return Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource IDs that are associated with this L3 network.
*
*/
public Output> hybridAksClustersAssociatedIds() {
return this.hybridAksClustersAssociatedIds;
}
/**
* Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The indicator of whether or not to disable IPAM allocation on the network attachment definition injected into the Hybrid AKS Cluster.
*
*/
@Export(name="hybridAksIpamEnabled", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> hybridAksIpamEnabled;
/**
* @return Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The indicator of whether or not to disable IPAM allocation on the network attachment definition injected into the Hybrid AKS Cluster.
*
*/
public Output> hybridAksIpamEnabled() {
return Codegen.optional(this.hybridAksIpamEnabled);
}
/**
* Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The network plugin type for Hybrid AKS.
*
*/
@Export(name="hybridAksPluginType", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> hybridAksPluginType;
/**
* @return Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The network plugin type for Hybrid AKS.
*
*/
public Output> hybridAksPluginType() {
return Codegen.optional(this.hybridAksPluginType);
}
/**
* The default interface name for this L3 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine.
*
*/
@Export(name="interfaceName", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> interfaceName;
/**
* @return The default interface name for this L3 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine.
*
*/
public Output> interfaceName() {
return Codegen.optional(this.interfaceName);
}
/**
* The type of the IP address allocation, defaulted to "DualStack".
*
*/
@Export(name="ipAllocationType", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> ipAllocationType;
/**
* @return The type of the IP address allocation, defaulted to "DualStack".
*
*/
public Output> ipAllocationType() {
return Codegen.optional(this.ipAllocationType);
}
/**
* The IPV4 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
* is IPV4 or DualStack.
*
*/
@Export(name="ipv4ConnectedPrefix", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> ipv4ConnectedPrefix;
/**
* @return The IPV4 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
* is IPV4 or DualStack.
*
*/
public Output> ipv4ConnectedPrefix() {
return Codegen.optional(this.ipv4ConnectedPrefix);
}
/**
* The IPV6 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
* is IPV6 or DualStack.
*
*/
@Export(name="ipv6ConnectedPrefix", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> ipv6ConnectedPrefix;
/**
* @return The IPV6 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
* is IPV6 or DualStack.
*
*/
public Output> ipv6ConnectedPrefix() {
return Codegen.optional(this.ipv6ConnectedPrefix);
}
/**
* The resource ID of the Network Fabric l3IsolationDomain.
*
*/
@Export(name="l3IsolationDomainId", refs={String.class}, tree="[0]")
private Output l3IsolationDomainId;
/**
* @return The resource ID of the Network Fabric l3IsolationDomain.
*
*/
public Output l3IsolationDomainId() {
return this.l3IsolationDomainId;
}
/**
* The geo-location where the resource lives
*
*/
@Export(name="location", refs={String.class}, tree="[0]")
private Output location;
/**
* @return The geo-location where the resource lives
*
*/
public Output location() {
return this.location;
}
/**
* The name of the resource
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return The name of the resource
*
*/
public Output name() {
return this.name;
}
/**
* The provisioning state of the L3 network.
*
*/
@Export(name="provisioningState", refs={String.class}, tree="[0]")
private Output provisioningState;
/**
* @return The provisioning state of the L3 network.
*
*/
public Output provisioningState() {
return this.provisioningState;
}
/**
* Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
@Export(name="systemData", refs={SystemDataResponse.class}, tree="[0]")
private Output systemData;
/**
* @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
public Output systemData() {
return this.systemData;
}
/**
* Resource tags.
*
*/
@Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]")
private Output* @Nullable */ Map> tags;
/**
* @return Resource tags.
*
*/
public Output>> tags() {
return Codegen.optional(this.tags);
}
/**
* The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
@Export(name="type", refs={String.class}, tree="[0]")
private Output type;
/**
* @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
public Output type() {
return this.type;
}
/**
* Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are currently using this L3 network.
*
*/
@Export(name="virtualMachinesAssociatedIds", refs={List.class,String.class}, tree="[0,1]")
private Output> virtualMachinesAssociatedIds;
/**
* @return Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are currently using this L3 network.
*
*/
public Output> virtualMachinesAssociatedIds() {
return this.virtualMachinesAssociatedIds;
}
/**
* The VLAN from the l3IsolationDomain that is used for this network.
*
*/
@Export(name="vlan", refs={Double.class}, tree="[0]")
private Output vlan;
/**
* @return The VLAN from the l3IsolationDomain that is used for this network.
*
*/
public Output vlan() {
return this.vlan;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public L3Network(java.lang.String name) {
this(name, L3NetworkArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public L3Network(java.lang.String name, L3NetworkArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public L3Network(java.lang.String name, L3NetworkArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:networkcloud:L3Network", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private L3Network(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:networkcloud:L3Network", name, null, makeResourceOptions(options, id), false);
}
private static L3NetworkArgs makeArgs(L3NetworkArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? L3NetworkArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.aliases(List.of(
Output.of(Alias.builder().type("azure-native:networkcloud/v20230701:L3Network").build()),
Output.of(Alias.builder().type("azure-native:networkcloud/v20231001preview:L3Network").build()),
Output.of(Alias.builder().type("azure-native:networkcloud/v20240601preview:L3Network").build()),
Output.of(Alias.builder().type("azure-native:networkcloud/v20240701:L3Network").build())
))
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static L3Network get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new L3Network(name, id, options);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy