All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.networkcloud.TrunkedNetwork Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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.TrunkedNetworkArgs;
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 trunked network
 * 
 * 
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.networkcloud.TrunkedNetwork;
 * import com.pulumi.azurenative.networkcloud.TrunkedNetworkArgs;
 * 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 trunkedNetwork = new TrunkedNetwork("trunkedNetwork", TrunkedNetworkArgs.builder()
 *             .extendedLocation(ExtendedLocationArgs.builder()
 *                 .name("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName")
 *                 .type("CustomLocation")
 *                 .build())
 *             .interfaceName("eth0")
 *             .isolationDomainIds(            
 *                 "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName",
 *                 "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName")
 *             .location("location")
 *             .resourceGroupName("resourceGroupName")
 *             .tags(Map.ofEntries(
 *                 Map.entry("key1", "myvalue1"),
 *                 Map.entry("key2", "myvalue2")
 *             ))
 *             .trunkedNetworkName("trunkedNetworkName")
 *             .vlans(            
 *                 12,
 *                 14)
 *             .build());
 * 
 *     }
 * }
 * 
 * }
 * 
* * ## Import * * An existing resource can be imported using its type token, name, and identifier, e.g. * * ```sh * $ pulumi import azure-native:networkcloud:TrunkedNetwork trunkedNetworkName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/trunkedNetworks/{trunkedNetworkName} * ``` * */ @ResourceType(type="azure-native:networkcloud:TrunkedNetwork") public class TrunkedNetwork 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 trunked 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 trunked network is associated with. * */ public Output clusterId() { return this.clusterId; } /** * The more detailed status of the trunked network. * */ @Export(name="detailedStatus", refs={String.class}, tree="[0]") private Output detailedStatus; /** * @return The more detailed status of the trunked 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 trunked 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 trunked 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 network plugin type for Hybrid AKS. * */ @Export(name="hybridAksPluginType", refs={String.class}, tree="[0]") private Output 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 trunked 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 interfaceName; /** * @return The default interface name for this trunked 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 list of resource IDs representing the Network Fabric isolation domains. It can be any combination of l2IsolationDomain and l3IsolationDomain resources. * */ @Export(name="isolationDomainIds", refs={List.class,String.class}, tree="[0,1]") private Output> isolationDomainIds; /** * @return The list of resource IDs representing the Network Fabric isolation domains. It can be any combination of l2IsolationDomain and l3IsolationDomain resources. * */ public Output> isolationDomainIds() { return this.isolationDomainIds; } /** * 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 trunked network. * */ @Export(name="provisioningState", refs={String.class}, tree="[0]") private Output provisioningState; /** * @return The provisioning state of the trunked 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> 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 trunked 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 trunked network. * */ public Output> virtualMachinesAssociatedIds() { return this.virtualMachinesAssociatedIds; } /** * The list of vlans that are selected from the isolation domains for trunking. * */ @Export(name="vlans", refs={List.class,Double.class}, tree="[0,1]") private Output> vlans; /** * @return The list of vlans that are selected from the isolation domains for trunking. * */ public Output> vlans() { return this.vlans; } /** * * @param name The _unique_ name of the resulting resource. */ public TrunkedNetwork(java.lang.String name) { this(name, TrunkedNetworkArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public TrunkedNetwork(java.lang.String name, TrunkedNetworkArgs 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 TrunkedNetwork(java.lang.String name, TrunkedNetworkArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:networkcloud:TrunkedNetwork", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private TrunkedNetwork(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:networkcloud:TrunkedNetwork", name, null, makeResourceOptions(options, id), false); } private static TrunkedNetworkArgs makeArgs(TrunkedNetworkArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? TrunkedNetworkArgs.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:TrunkedNetwork").build()), Output.of(Alias.builder().type("azure-native:networkcloud/v20231001preview:TrunkedNetwork").build()), Output.of(Alias.builder().type("azure-native:networkcloud/v20240601preview:TrunkedNetwork").build()), Output.of(Alias.builder().type("azure-native:networkcloud/v20240701:TrunkedNetwork").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 TrunkedNetwork get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new TrunkedNetwork(name, id, options); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy