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

com.pulumi.meraki.networks.ApplianceVlans Maven / Gradle / Ivy

There is a newer version: 0.4.0-alpha.1731736975
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.meraki.networks;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import com.pulumi.meraki.Utilities;
import com.pulumi.meraki.networks.ApplianceVlansArgs;
import com.pulumi.meraki.networks.inputs.ApplianceVlansState;
import com.pulumi.meraki.networks.outputs.ApplianceVlansDhcpOption;
import com.pulumi.meraki.networks.outputs.ApplianceVlansIpv6;
import com.pulumi.meraki.networks.outputs.ApplianceVlansMandatoryDhcp;
import com.pulumi.meraki.networks.outputs.ApplianceVlansReservedIpRange;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * ## Example Usage
 * 
 * <!--Start PulumiCodeChooser -->
 * 
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.meraki.networks.ApplianceVlans;
 * import com.pulumi.meraki.networks.ApplianceVlansArgs;
 * import com.pulumi.meraki.networks.inputs.ApplianceVlansIpv6Args;
 * import com.pulumi.meraki.networks.inputs.ApplianceVlansMandatoryDhcpArgs;
 * 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 example = new ApplianceVlans("example", ApplianceVlansArgs.builder()
 *             .applianceIp("192.168.1.2")
 *             .cidr("192.168.1.0/24")
 *             .groupPolicyId("101")
 *             .vlanId("1234")
 *             .ipv6(ApplianceVlansIpv6Args.builder()
 *                 .enabled(true)
 *                 .prefix_assignments(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
 *                 .build())
 *             .mandatoryDhcp(ApplianceVlansMandatoryDhcpArgs.builder()
 *                 .enabled(true)
 *                 .build())
 *             .mask(28)
 *             .name("My VLAN")
 *             .networkId("string")
 *             .subnet("192.168.1.0/24")
 *             .templateVlanType("same")
 *             .build());
 * 
 *         ctx.export("merakiNetworksApplianceVlansExample", example);
 *     }
 * }
 * }
 * 
* <!--End PulumiCodeChooser --> * * ## Import * * ```sh * $ pulumi import meraki:networks/applianceVlans:ApplianceVlans example "network_id,vlan_id" * ``` * */ @ResourceType(type="meraki:networks/applianceVlans:ApplianceVlans") public class ApplianceVlans extends com.pulumi.resources.CustomResource { /** * The local IP of the appliance on the VLAN * */ @Export(name="applianceIp", refs={String.class}, tree="[0]") private Output applianceIp; /** * @return The local IP of the appliance on the VLAN * */ public Output applianceIp() { return this.applianceIp; } /** * CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN. * */ @Export(name="cidr", refs={String.class}, tree="[0]") private Output cidr; /** * @return CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN. * */ public Output> cidr() { return Codegen.optional(this.cidr); } /** * DHCP boot option for boot filename * */ @Export(name="dhcpBootFilename", refs={String.class}, tree="[0]") private Output dhcpBootFilename; /** * @return DHCP boot option for boot filename * */ public Output dhcpBootFilename() { return this.dhcpBootFilename; } /** * DHCP boot option to direct boot clients to the server to load the boot file from * */ @Export(name="dhcpBootNextServer", refs={String.class}, tree="[0]") private Output dhcpBootNextServer; /** * @return DHCP boot option to direct boot clients to the server to load the boot file from * */ public Output dhcpBootNextServer() { return this.dhcpBootNextServer; } /** * Use DHCP boot options specified in other properties * */ @Export(name="dhcpBootOptionsEnabled", refs={Boolean.class}, tree="[0]") private Output dhcpBootOptionsEnabled; /** * @return Use DHCP boot options specified in other properties * */ public Output dhcpBootOptionsEnabled() { return this.dhcpBootOptionsEnabled; } /** * The appliance's handling of DHCP requests on this VLAN. One of: 'Run a DHCP server', 'Relay DHCP to another server' or 'Do not respond to DHCP requests' * */ @Export(name="dhcpHandling", refs={String.class}, tree="[0]") private Output dhcpHandling; /** * @return The appliance's handling of DHCP requests on this VLAN. One of: 'Run a DHCP server', 'Relay DHCP to another server' or 'Do not respond to DHCP requests' * */ public Output dhcpHandling() { return this.dhcpHandling; } /** * The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: '30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week' * */ @Export(name="dhcpLeaseTime", refs={String.class}, tree="[0]") private Output dhcpLeaseTime; /** * @return The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: '30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week' * */ public Output dhcpLeaseTime() { return this.dhcpLeaseTime; } /** * The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties. * */ @Export(name="dhcpOptions", refs={List.class,ApplianceVlansDhcpOption.class}, tree="[0,1]") private Output> dhcpOptions; /** * @return The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties. * */ public Output> dhcpOptions() { return this.dhcpOptions; } /** * The IPs of the DHCP servers that DHCP requests should be relayed to * */ @Export(name="dhcpRelayServerIps", refs={List.class,String.class}, tree="[0,1]") private Output> dhcpRelayServerIps; /** * @return The IPs of the DHCP servers that DHCP requests should be relayed to * */ public Output> dhcpRelayServerIps() { return this.dhcpRelayServerIps; } /** * The DNS nameservers used for DHCP responses, either "upstream*dns", "google*dns", "opendns", or a newline seperated string of IP addresses or domain names * */ @Export(name="dnsNameservers", refs={String.class}, tree="[0]") private Output dnsNameservers; /** * @return The DNS nameservers used for DHCP responses, either "upstream*dns", "google*dns", "opendns", or a newline seperated string of IP addresses or domain names * */ public Output dnsNameservers() { return this.dnsNameservers; } /** * The id of the desired group policy to apply to the VLAN * */ @Export(name="groupPolicyId", refs={String.class}, tree="[0]") private Output groupPolicyId; /** * @return The id of the desired group policy to apply to the VLAN * */ public Output groupPolicyId() { return this.groupPolicyId; } /** * The interface ID of the VLAN * */ @Export(name="interfaceId", refs={String.class}, tree="[0]") private Output interfaceId; /** * @return The interface ID of the VLAN * */ public Output interfaceId() { return this.interfaceId; } /** * IPv6 configuration on the VLAN * */ @Export(name="ipv6", refs={ApplianceVlansIpv6.class}, tree="[0]") private Output ipv6; /** * @return IPv6 configuration on the VLAN * */ public Output ipv6() { return this.ipv6; } /** * Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above * */ @Export(name="mandatoryDhcp", refs={ApplianceVlansMandatoryDhcp.class}, tree="[0]") private Output mandatoryDhcp; /** * @return Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above * */ public Output mandatoryDhcp() { return this.mandatoryDhcp; } /** * Mask used for the subnet of all bound to the template networks. Applicable only for template network. * */ @Export(name="mask", refs={Integer.class}, tree="[0]") private Output mask; /** * @return Mask used for the subnet of all bound to the template networks. Applicable only for template network. * */ public Output mask() { return this.mask; } /** * The name of the VLAN * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return The name of the VLAN * */ public Output name() { return this.name; } /** * networkId path parameter. Network ID * */ @Export(name="networkId", refs={String.class}, tree="[0]") private Output networkId; /** * @return networkId path parameter. Network ID * */ public Output networkId() { return this.networkId; } /** * The DHCP reserved IP ranges on the VLAN * */ @Export(name="reservedIpRanges", refs={List.class,ApplianceVlansReservedIpRange.class}, tree="[0,1]") private Output> reservedIpRanges; /** * @return The DHCP reserved IP ranges on the VLAN * */ public Output> reservedIpRanges() { return this.reservedIpRanges; } /** * The subnet of the VLAN * */ @Export(name="subnet", refs={String.class}, tree="[0]") private Output subnet; /** * @return The subnet of the VLAN * */ public Output subnet() { return this.subnet; } /** * Type of subnetting of the VLAN. Applicable only for template network. * */ @Export(name="templateVlanType", refs={String.class}, tree="[0]") private Output templateVlanType; /** * @return Type of subnetting of the VLAN. Applicable only for template network. * */ public Output templateVlanType() { return this.templateVlanType; } /** * The VLAN ID of the VLAN * */ @Export(name="vlanId", refs={String.class}, tree="[0]") private Output vlanId; /** * @return The VLAN ID of the VLAN * */ public Output vlanId() { return this.vlanId; } /** * The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN * */ @Export(name="vpnNatSubnet", refs={String.class}, tree="[0]") private Output vpnNatSubnet; /** * @return The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN * */ public Output vpnNatSubnet() { return this.vpnNatSubnet; } /** * * @param name The _unique_ name of the resulting resource. */ public ApplianceVlans(java.lang.String name) { this(name, ApplianceVlansArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public ApplianceVlans(java.lang.String name, ApplianceVlansArgs 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 ApplianceVlans(java.lang.String name, ApplianceVlansArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("meraki:networks/applianceVlans:ApplianceVlans", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private ApplianceVlans(java.lang.String name, Output id, @Nullable ApplianceVlansState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("meraki:networks/applianceVlans:ApplianceVlans", name, state, makeResourceOptions(options, id), false); } private static ApplianceVlansArgs makeArgs(ApplianceVlansArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? ApplianceVlansArgs.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()) .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 state * @param options Optional settings to control the behavior of the CustomResource. */ public static ApplianceVlans get(java.lang.String name, Output id, @Nullable ApplianceVlansState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ApplianceVlans(name, id, state, options); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy