com.pulumi.meraki.networks.WirelessSsids Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of meraki Show documentation
Show all versions of meraki Show documentation
A Pulumi package for creating and managing Cisco Meraki 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.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.WirelessSsidsArgs;
import com.pulumi.meraki.networks.inputs.WirelessSsidsState;
import com.pulumi.meraki.networks.outputs.WirelessSsidsActiveDirectory;
import com.pulumi.meraki.networks.outputs.WirelessSsidsApTagsAndVlanId;
import com.pulumi.meraki.networks.outputs.WirelessSsidsDnsRewrite;
import com.pulumi.meraki.networks.outputs.WirelessSsidsDot11r;
import com.pulumi.meraki.networks.outputs.WirelessSsidsDot11w;
import com.pulumi.meraki.networks.outputs.WirelessSsidsGre;
import com.pulumi.meraki.networks.outputs.WirelessSsidsLdap;
import com.pulumi.meraki.networks.outputs.WirelessSsidsLocalRadius;
import com.pulumi.meraki.networks.outputs.WirelessSsidsNamedVlans;
import com.pulumi.meraki.networks.outputs.WirelessSsidsOauth;
import com.pulumi.meraki.networks.outputs.WirelessSsidsRadiusAccountingServer;
import com.pulumi.meraki.networks.outputs.WirelessSsidsRadiusAccountingServersResponse;
import com.pulumi.meraki.networks.outputs.WirelessSsidsRadiusServer;
import com.pulumi.meraki.networks.outputs.WirelessSsidsRadiusServersResponse;
import com.pulumi.meraki.networks.outputs.WirelessSsidsSpeedBurst;
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.WirelessSsids;
* import com.pulumi.meraki.networks.WirelessSsidsArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsActiveDirectoryArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsActiveDirectoryCredentialsArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsApTagsAndVlanIdArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsDnsRewriteArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsDot11rArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsDot11wArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsGreArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsGreConcentratorArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsLdapArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsLdapCredentialsArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsLocalRadiusArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsNamedVlansArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsNamedVlansRadiusArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsNamedVlansRadiusGuestVlanArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsNamedVlansTaggingArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsOauthArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsRadiusAccountingServerArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsRadiusServerArgs;
* import com.pulumi.meraki.networks.inputs.WirelessSsidsSpeedBurstArgs;
* 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 WirelessSsids("example", WirelessSsidsArgs.builder()
* .activeDirectory(WirelessSsidsActiveDirectoryArgs.builder()
* .credentials(WirelessSsidsActiveDirectoryCredentialsArgs.builder()
* .logonName("user")
* .password("password")
* .build())
* .servers(WirelessSsidsActiveDirectoryServerArgs.builder()
* .host("127.0.0.1")
* .port(3268)
* .build())
* .build())
* .adultContentFilteringEnabled(false)
* .apTagsAndVlanIds(WirelessSsidsApTagsAndVlanIdArgs.builder()
* .tags(
* "tag1",
* "tag2")
* .vlan_id(100)
* .build())
* .authMode("8021x-radius")
* .availabilityTags(
* "tag1",
* "tag2")
* .availableOnAllAps(false)
* .bandSelection("5 GHz band only")
* .concentratorNetworkId("N_24329156")
* .defaultVlanId(1)
* .disassociateClientsOnVpnFailover(false)
* .dnsRewrite(WirelessSsidsDnsRewriteArgs.builder()
* .dns_custom_nameservers(
* "8.8.8.8",
* "8.8.4.4")
* .enabled(true)
* .build())
* .dot11r(WirelessSsidsDot11rArgs.builder()
* .adaptive(true)
* .enabled(true)
* .build())
* .dot11w(WirelessSsidsDot11wArgs.builder()
* .enabled(true)
* .required(false)
* .build())
* .enabled(true)
* .encryptionMode("wpa")
* .enterpriseAdminAccess("access enabled")
* .gre(WirelessSsidsGreArgs.builder()
* .concentrator(WirelessSsidsGreConcentratorArgs.builder()
* .host("192.168.1.1")
* .build())
* .key(5)
* .build())
* .ipAssignmentMode("NAT mode")
* .lanIsolationEnabled(true)
* .ldap(WirelessSsidsLdapArgs.builder()
* .base_distinguished_name("dc=example,dc=com")
* .credentials(WirelessSsidsLdapCredentialsArgs.builder()
* .distinguishedName("cn=user,dc=example,dc=com")
* .password("password")
* .build())
* .server_ca_certificate(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
* .servers(WirelessSsidsLdapServerArgs.builder()
* .host("127.0.0.1")
* .port(389)
* .build())
* .build())
* .localRadius(WirelessSsidsLocalRadiusArgs.builder()
* .cache_timeout(60)
* .certificate_authentication(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
* .password_authentication(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
* .build())
* .mandatoryDhcpEnabled(false)
* .minBitrate(5.5)
* .name("My SSID")
* .namedVlans(WirelessSsidsNamedVlansArgs.builder()
* .radius(WirelessSsidsNamedVlansRadiusArgs.builder()
* .guestVlan(WirelessSsidsNamedVlansRadiusGuestVlanArgs.builder()
* .enabled(true)
* .name("Guest VLAN")
* .build())
* .build())
* .tagging(WirelessSsidsNamedVlansTaggingArgs.builder()
* .byApTags(WirelessSsidsNamedVlansTaggingByApTagArgs.builder()
* .tags(
* "tag1",
* "tag2")
* .vlanName("My VLAN")
* .build())
* .defaultVlanName("My VLAN")
* .enabled(true)
* .build())
* .build())
* .networkId("string")
* .number("string")
* .oauth(WirelessSsidsOauthArgs.builder()
* .allowed_domains("example.com")
* .build())
* .perClientBandwidthLimitDown(1)
* .perClientBandwidthLimitUp(1)
* .perSsidBandwidthLimitDown(1)
* .perSsidBandwidthLimitUp(1)
* .psk("deadbeef")
* .radiusAccountingEnabled(true)
* .radiusAccountingInterimInterval(5)
* .radiusAccountingServers(WirelessSsidsRadiusAccountingServerArgs.builder()
* .ca_certificate("""
* "-----BEGIN CERTIFICATE-----
* MIIDyTCCArGgAwIBAgIKBBNXOVCGU1YztjANBgkqhkiG9w0BAQsFADAnMQ4wDAYD
* VQQKEwVDaXNjbzEVMBMGA1UEAxMMQUNUMiBTVURJIENBMB4XDTIxMDUzMTEzNTUx
* NVoXDTI5MDUxNDIwMjU0MVowbTEpMCcGA1UEBRMgUElEOkM5MjAwTC0yNFAtNEcg
* U046SkFFMjUyMjBSMksxDjAMBgNVBAoTBUNpc2NvMRgwFgYDVQQLEw9BQ1QtMiBM
* aXRlIFNVREkxFjAUBgNVBAMTDUM5MjAwTC0yNFAtNEcwggEiMA0GCSqGSIb3DQEB
* AQUAA4IBDwAwggEKAoIBAQDaUPxW76gT5MdoEAt+UrDFiYA9RYh2iHicDViBEyow
* TR1TuP36bHh13X3vtGiDsCD88Ci2TZIqd/EDkkc7v9ipUUYVVH+YDrPt2Aukb1PH
* D6K0R+KhgEzRo5x54TlU6oWvjUpwNZUwwdhMWIQaUVkMyZBYNy0jGPLO8jwZhyBg
* 1Fneybr9pwedGbLrAaz+gdEikB8B4a/fvPjVfL5Ngb4QRjFqWuE+X3nLc0kHedep
* 6nfgpUNXMlStVm5nIXKP6OjmzfCHPYh9L2Ehs1TrSk1ser9Ofx0ZMVL/jBZR2EIj
* OZ8tH6KlX2/B2pbSPIO6kD5c4UA8Cf1SbDJCwJ/kI9ihAgMBAAGjgbAwga0wDgYD
* VR0PAQH/BAQDAgXgMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUSNjx8cJw1Vu7
* fHMJk6+4uDAD+H8wTQYDVR0RBEYwRKBCBgkrBgEEAQkVAgOgNRMzQ2hpcElEPVVV
* VUNNaElGcUVFMklFUUVBQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9MB0GA1Ud
* DgQWBBRdhMkFD/z5hokaQeLbaRsp4hkvbzANBgkqhkiG9w0BAQsFAAOCAQEAMtuh
* YpBz4xEZ7YdJsLpw67Q0TTJGnTBRpzAeY1urYDoDz8TSx556XG7z3IRzuED5KVSp
* OwmH/iZ+tDfYQ3W3ElWTW93871DkuW4WQIfbnoHg/F7bF0DKYVkD3rpZjyz3NhzH
* d7cjTdJXQ85bTAOXDuxKH3qewrXxxOGXgh3I6NUq0UwMTWh84lND7Jl+ZAQkYNS2
* iHanTZFQBk3ML0NUb7fKDYGRTZRqwQ/upIO4S6LV1cxH/6V0qbMy3sCSHZoMLrW3
* 0m3M6yKpe5+VZzHZwmWdUf3Ot+zKjhveK5/YNsMIASdvtvymxUizq2Hr1hvR/kPc
* p1vuyWxipU8JfzOh/A==
* -----END CERTIFICATE-----
* "
* """)
* .host("0.0.0.0")
* .port(3000)
* .radsec_enabled(true)
* .secret("secret-string")
* .build())
* .radiusAttributeForGroupPolicies("Filter-Id")
* .radiusAuthenticationNasId("00-11-22-33-44-55:AP1")
* .radiusCalledStationId("00-11-22-33-44-55:AP1")
* .radiusCoaEnabled(true)
* .radiusFailoverPolicy("Deny access")
* .radiusFallbackEnabled(true)
* .radiusGuestVlanEnabled(true)
* .radiusGuestVlanId(1)
* .radiusLoadBalancingPolicy("Round robin")
* .radiusOverride(false)
* .radiusProxyEnabled(false)
* .radiusServerAttemptsLimit(5)
* .radiusServerTimeout(5)
* .radiusServers(WirelessSsidsRadiusServerArgs.builder()
* .ca_certificate("""
* "-----BEGIN CERTIFICATE-----
* MIIDyTCCArGgAwIBAgIKBBNXOVCGU1YztjANBgkqhkiG9w0BAQsFADAnMQ4wDAYD
* VQQKEwVDaXNjbzEVMBMGA1UEAxMMQUNUMiBTVURJIENBMB4XDTIxMDUzMTEzNTUx
* NVoXDTI5MDUxNDIwMjU0MVowbTEpMCcGA1UEBRMgUElEOkM5MjAwTC0yNFAtNEcg
* U046SkFFMjUyMjBSMksxDjAMBgNVBAoTBUNpc2NvMRgwFgYDVQQLEw9BQ1QtMiBM
* aXRlIFNVREkxFjAUBgNVBAMTDUM5MjAwTC0yNFAtNEcwggEiMA0GCSqGSIb3DQEB
* AQUAA4IBDwAwggEKAoIBAQDaUPxW76gT5MdoEAt+UrDFiYA9RYh2iHicDViBEyow
* TR1TuP36bHh13X3vtGiDsCD88Ci2TZIqd/EDkkc7v9ipUUYVVH+YDrPt2Aukb1PH
* D6K0R+KhgEzRo5x54TlU6oWvjUpwNZUwwdhMWIQaUVkMyZBYNy0jGPLO8jwZhyBg
* 1Fneybr9pwedGbLrAaz+gdEikB8B4a/fvPjVfL5Ngb4QRjFqWuE+X3nLc0kHedep
* 6nfgpUNXMlStVm5nIXKP6OjmzfCHPYh9L2Ehs1TrSk1ser9Ofx0ZMVL/jBZR2EIj
* OZ8tH6KlX2/B2pbSPIO6kD5c4UA8Cf1SbDJCwJ/kI9ihAgMBAAGjgbAwga0wDgYD
* VR0PAQH/BAQDAgXgMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUSNjx8cJw1Vu7
* fHMJk6+4uDAD+H8wTQYDVR0RBEYwRKBCBgkrBgEEAQkVAgOgNRMzQ2hpcElEPVVV
* VUNNaElGcUVFMklFUUVBQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9MB0GA1Ud
* DgQWBBRdhMkFD/z5hokaQeLbaRsp4hkvbzANBgkqhkiG9w0BAQsFAAOCAQEAMtuh
* YpBz4xEZ7YdJsLpw67Q0TTJGnTBRpzAeY1urYDoDz8TSx556XG7z3IRzuED5KVSp
* OwmH/iZ+tDfYQ3W3ElWTW93871DkuW4WQIfbnoHg/F7bF0DKYVkD3rpZjyz3NhzH
* d7cjTdJXQ85bTAOXDuxKH3qewrXxxOGXgh3I6NUq0UwMTWh84lND7Jl+ZAQkYNS2
* iHanTZFQBk3ML0NUb7fKDYGRTZRqwQ/upIO4S6LV1cxH/6V0qbMy3sCSHZoMLrW3
* 0m3M6yKpe5+VZzHZwmWdUf3Ot+zKjhveK5/YNsMIASdvtvymxUizq2Hr1hvR/kPc
* p1vuyWxipU8JfzOh/A==
* -----END CERTIFICATE-----
* "
* """)
* .host("0.0.0.0")
* .open_roaming_certificate_id(2)
* .port(3000)
* .radsec_enabled(true)
* .secret("secret-string")
* .build())
* .radiusTestingEnabled(true)
* .secondaryConcentratorNetworkId("disabled")
* .speedBurst(WirelessSsidsSpeedBurstArgs.builder()
* .enabled(true)
* .build())
* .splashGuestSponsorDomains("example.com")
* .splashPage("Click-through splash page")
* .useVlanTagging(false)
* .visible(true)
* .vlanId(10)
* .walledGardenEnabled(true)
* .walledGardenRanges(
* "example.com",
* "1.1.1.1/32")
* .wpaEncryptionMode("WPA2 only")
* .build());
*
* ctx.export("merakiNetworksWirelessSsidsExample", example);
* }
* }
* }
*
* <!--End PulumiCodeChooser -->
*
* ## Import
*
* ```sh
* $ pulumi import meraki:networks/wirelessSsids:WirelessSsids example "network_id,number"
* ```
*
*/
@ResourceType(type="meraki:networks/wirelessSsids:WirelessSsids")
public class WirelessSsids extends com.pulumi.resources.CustomResource {
/**
* The current setting for Active Directory. Only valid if splashPage is 'Password-protected with Active Directory'
*
*/
@Export(name="activeDirectory", refs={WirelessSsidsActiveDirectory.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsActiveDirectory> activeDirectory;
/**
* @return The current setting for Active Directory. Only valid if splashPage is 'Password-protected with Active Directory'
*
*/
public Output> activeDirectory() {
return Codegen.optional(this.activeDirectory);
}
@Export(name="adminSplashUrl", refs={String.class}, tree="[0]")
private Output adminSplashUrl;
public Output adminSplashUrl() {
return this.adminSplashUrl;
}
/**
* Boolean indicating whether or not adult content will be blocked
*
*/
@Export(name="adultContentFilteringEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> adultContentFilteringEnabled;
/**
* @return Boolean indicating whether or not adult content will be blocked
*
*/
public Output> adultContentFilteringEnabled() {
return Codegen.optional(this.adultContentFilteringEnabled);
}
/**
* The list of tags and VLAN IDs used for VLAN tagging. This param is only valid when the ipAssignmentMode is 'Bridge mode' or 'Layer 3 roaming'
*
*/
@Export(name="apTagsAndVlanIds", refs={List.class,WirelessSsidsApTagsAndVlanId.class}, tree="[0,1]")
private Output* @Nullable */ List> apTagsAndVlanIds;
/**
* @return The list of tags and VLAN IDs used for VLAN tagging. This param is only valid when the ipAssignmentMode is 'Bridge mode' or 'Layer 3 roaming'
*
*/
public Output>> apTagsAndVlanIds() {
return Codegen.optional(this.apTagsAndVlanIds);
}
/**
* The association control method for the SSID
*
*/
@Export(name="authMode", refs={String.class}, tree="[0]")
private Output authMode;
/**
* @return The association control method for the SSID
*
*/
public Output authMode() {
return this.authMode;
}
/**
* List of tags for this SSID. If availableOnAllAps is false, then the SSID is only broadcast by APs with tags matching any of the tags in this list
*
*/
@Export(name="availabilityTags", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> availabilityTags;
/**
* @return List of tags for this SSID. If availableOnAllAps is false, then the SSID is only broadcast by APs with tags matching any of the tags in this list
*
*/
public Output>> availabilityTags() {
return Codegen.optional(this.availabilityTags);
}
/**
* Whether all APs broadcast the SSID or if it's restricted to APs matching any availability tags
*
*/
@Export(name="availableOnAllAps", refs={Boolean.class}, tree="[0]")
private Output availableOnAllAps;
/**
* @return Whether all APs broadcast the SSID or if it's restricted to APs matching any availability tags
*
*/
public Output availableOnAllAps() {
return this.availableOnAllAps;
}
/**
* The client-serving radio frequencies of this SSID in the default indoor RF profile
*
*/
@Export(name="bandSelection", refs={String.class}, tree="[0]")
private Output bandSelection;
/**
* @return The client-serving radio frequencies of this SSID in the default indoor RF profile
*
*/
public Output bandSelection() {
return this.bandSelection;
}
/**
* The concentrator to use when the ipAssignmentMode is 'Layer 3 roaming with a concentrator' or 'VPN'.
*
*/
@Export(name="concentratorNetworkId", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> concentratorNetworkId;
/**
* @return The concentrator to use when the ipAssignmentMode is 'Layer 3 roaming with a concentrator' or 'VPN'.
*
*/
public Output> concentratorNetworkId() {
return Codegen.optional(this.concentratorNetworkId);
}
/**
* The default VLAN ID used for 'all other APs'. This param is only valid when the ipAssignmentMode is 'Bridge mode' or 'Layer 3 roaming'
*
*/
@Export(name="defaultVlanId", refs={Integer.class}, tree="[0]")
private Output* @Nullable */ Integer> defaultVlanId;
/**
* @return The default VLAN ID used for 'all other APs'. This param is only valid when the ipAssignmentMode is 'Bridge mode' or 'Layer 3 roaming'
*
*/
public Output> defaultVlanId() {
return Codegen.optional(this.defaultVlanId);
}
/**
* Disassociate clients when 'VPN' concentrator failover occurs in order to trigger clients to re-associate and generate new DHCP requests. This param is only valid if ipAssignmentMode is 'VPN'.
*
*/
@Export(name="disassociateClientsOnVpnFailover", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> disassociateClientsOnVpnFailover;
/**
* @return Disassociate clients when 'VPN' concentrator failover occurs in order to trigger clients to re-associate and generate new DHCP requests. This param is only valid if ipAssignmentMode is 'VPN'.
*
*/
public Output> disassociateClientsOnVpnFailover() {
return Codegen.optional(this.disassociateClientsOnVpnFailover);
}
/**
* DNS servers rewrite settings
*
*/
@Export(name="dnsRewrite", refs={WirelessSsidsDnsRewrite.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsDnsRewrite> dnsRewrite;
/**
* @return DNS servers rewrite settings
*
*/
public Output> dnsRewrite() {
return Codegen.optional(this.dnsRewrite);
}
/**
* The current setting for 802.11r
*
*/
@Export(name="dot11r", refs={WirelessSsidsDot11r.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsDot11r> dot11r;
/**
* @return The current setting for 802.11r
*
*/
public Output> dot11r() {
return Codegen.optional(this.dot11r);
}
/**
* The current setting for Protected Management Frames (802.11w).
*
*/
@Export(name="dot11w", refs={WirelessSsidsDot11w.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsDot11w> dot11w;
/**
* @return The current setting for Protected Management Frames (802.11w).
*
*/
public Output> dot11w() {
return Codegen.optional(this.dot11w);
}
/**
* Whether or not the SSID is enabled
*
*/
@Export(name="enabled", refs={Boolean.class}, tree="[0]")
private Output enabled;
/**
* @return Whether or not the SSID is enabled
*
*/
public Output enabled() {
return this.enabled;
}
/**
* The psk encryption mode for the SSID
*
*/
@Export(name="encryptionMode", refs={String.class}, tree="[0]")
private Output encryptionMode;
/**
* @return The psk encryption mode for the SSID
*
*/
public Output encryptionMode() {
return this.encryptionMode;
}
/**
* Whether or not an SSID is accessible by 'enterprise' administrators ('access disabled' or 'access enabled')
*
*/
@Export(name="enterpriseAdminAccess", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> enterpriseAdminAccess;
/**
* @return Whether or not an SSID is accessible by 'enterprise' administrators ('access disabled' or 'access enabled')
*
*/
public Output> enterpriseAdminAccess() {
return Codegen.optional(this.enterpriseAdminAccess);
}
/**
* Ethernet over GRE settings
*
*/
@Export(name="gre", refs={WirelessSsidsGre.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsGre> gre;
/**
* @return Ethernet over GRE settings
*
*/
public Output> gre() {
return Codegen.optional(this.gre);
}
/**
* The client IP assignment mode
*
*/
@Export(name="ipAssignmentMode", refs={String.class}, tree="[0]")
private Output ipAssignmentMode;
/**
* @return The client IP assignment mode
*
*/
public Output ipAssignmentMode() {
return this.ipAssignmentMode;
}
/**
* Boolean indicating whether Layer 2 LAN isolation should be enabled or disabled. Only configurable when ipAssignmentMode is 'Bridge mode'.
*
*/
@Export(name="lanIsolationEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> lanIsolationEnabled;
/**
* @return Boolean indicating whether Layer 2 LAN isolation should be enabled or disabled. Only configurable when ipAssignmentMode is 'Bridge mode'.
*
*/
public Output> lanIsolationEnabled() {
return Codegen.optional(this.lanIsolationEnabled);
}
/**
* The current setting for LDAP. Only valid if splashPage is 'Password-protected with LDAP'.
*
*/
@Export(name="ldap", refs={WirelessSsidsLdap.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsLdap> ldap;
/**
* @return The current setting for LDAP. Only valid if splashPage is 'Password-protected with LDAP'.
*
*/
public Output> ldap() {
return Codegen.optional(this.ldap);
}
/**
* The current setting for Local Authentication, a built-in RADIUS server on the access point. Only valid if authMode is '8021x-localradius'.
*
*/
@Export(name="localRadius", refs={WirelessSsidsLocalRadius.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsLocalRadius> localRadius;
/**
* @return The current setting for Local Authentication, a built-in RADIUS server on the access point. Only valid if authMode is '8021x-localradius'.
*
*/
public Output> localRadius() {
return Codegen.optional(this.localRadius);
}
/**
* Whether clients connecting to this SSID must use the IP address assigned by the DHCP server
*
*/
@Export(name="mandatoryDhcpEnabled", refs={Boolean.class}, tree="[0]")
private Output mandatoryDhcpEnabled;
/**
* @return Whether clients connecting to this SSID must use the IP address assigned by the DHCP server
*
*/
public Output mandatoryDhcpEnabled() {
return this.mandatoryDhcpEnabled;
}
/**
* The minimum bitrate in Mbps of this SSID in the default indoor RF profile
*
*/
@Export(name="minBitrate", refs={Integer.class}, tree="[0]")
private Output minBitrate;
/**
* @return The minimum bitrate in Mbps of this SSID in the default indoor RF profile
*
*/
public Output minBitrate() {
return this.minBitrate;
}
/**
* The name of the SSID
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return The name of the SSID
*
*/
public Output name() {
return this.name;
}
/**
* Named VLAN settings.
*
*/
@Export(name="namedVlans", refs={WirelessSsidsNamedVlans.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsNamedVlans> namedVlans;
/**
* @return Named VLAN settings.
*
*/
public Output> namedVlans() {
return Codegen.optional(this.namedVlans);
}
/**
* 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;
}
/**
* Unique identifier of the SSID
*
*/
@Export(name="number", refs={Integer.class}, tree="[0]")
private Output number;
/**
* @return Unique identifier of the SSID
*
*/
public Output number() {
return this.number;
}
/**
* The OAuth settings of this SSID. Only valid if splashPage is 'Google OAuth'.
*
*/
@Export(name="oauth", refs={WirelessSsidsOauth.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsOauth> oauth;
/**
* @return The OAuth settings of this SSID. Only valid if splashPage is 'Google OAuth'.
*
*/
public Output> oauth() {
return Codegen.optional(this.oauth);
}
/**
* The download bandwidth limit in Kbps. (0 represents no limit.)
*
*/
@Export(name="perClientBandwidthLimitDown", refs={Integer.class}, tree="[0]")
private Output perClientBandwidthLimitDown;
/**
* @return The download bandwidth limit in Kbps. (0 represents no limit.)
*
*/
public Output perClientBandwidthLimitDown() {
return this.perClientBandwidthLimitDown;
}
/**
* The upload bandwidth limit in Kbps. (0 represents no limit.)
*
*/
@Export(name="perClientBandwidthLimitUp", refs={Integer.class}, tree="[0]")
private Output perClientBandwidthLimitUp;
/**
* @return The upload bandwidth limit in Kbps. (0 represents no limit.)
*
*/
public Output perClientBandwidthLimitUp() {
return this.perClientBandwidthLimitUp;
}
/**
* The total download bandwidth limit in Kbps (0 represents no limit)
*
*/
@Export(name="perSsidBandwidthLimitDown", refs={Integer.class}, tree="[0]")
private Output perSsidBandwidthLimitDown;
/**
* @return The total download bandwidth limit in Kbps (0 represents no limit)
*
*/
public Output perSsidBandwidthLimitDown() {
return this.perSsidBandwidthLimitDown;
}
/**
* The total upload bandwidth limit in Kbps (0 represents no limit)
*
*/
@Export(name="perSsidBandwidthLimitUp", refs={Integer.class}, tree="[0]")
private Output perSsidBandwidthLimitUp;
/**
* @return The total upload bandwidth limit in Kbps (0 represents no limit)
*
*/
public Output perSsidBandwidthLimitUp() {
return this.perSsidBandwidthLimitUp;
}
/**
* The passkey for the SSID. This param is only valid if the authMode is 'psk'
*
*/
@Export(name="psk", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> psk;
/**
* @return The passkey for the SSID. This param is only valid if the authMode is 'psk'
*
*/
public Output> psk() {
return Codegen.optional(this.psk);
}
/**
* Whether or not RADIUS accounting is enabled
*
*/
@Export(name="radiusAccountingEnabled", refs={Boolean.class}, tree="[0]")
private Output radiusAccountingEnabled;
/**
* @return Whether or not RADIUS accounting is enabled
*
*/
public Output radiusAccountingEnabled() {
return this.radiusAccountingEnabled;
}
/**
* The interval (in seconds) in which accounting information is updated and sent to the RADIUS accounting server.
*
*/
@Export(name="radiusAccountingInterimInterval", refs={Integer.class}, tree="[0]")
private Output* @Nullable */ Integer> radiusAccountingInterimInterval;
/**
* @return The interval (in seconds) in which accounting information is updated and sent to the RADIUS accounting server.
*
*/
public Output> radiusAccountingInterimInterval() {
return Codegen.optional(this.radiusAccountingInterimInterval);
}
/**
* List of RADIUS accounting 802.1X servers to be used for authentication
*
*/
@Export(name="radiusAccountingServers", refs={List.class,WirelessSsidsRadiusAccountingServer.class}, tree="[0,1]")
private Output* @Nullable */ List> radiusAccountingServers;
/**
* @return List of RADIUS accounting 802.1X servers to be used for authentication
*
*/
public Output>> radiusAccountingServers() {
return Codegen.optional(this.radiusAccountingServers);
}
/**
* List of RADIUS accounting 802.1X servers to be used for authentication
*
*/
@Export(name="radiusAccountingServersResponses", refs={List.class,WirelessSsidsRadiusAccountingServersResponse.class}, tree="[0,1]")
private Output> radiusAccountingServersResponses;
/**
* @return List of RADIUS accounting 802.1X servers to be used for authentication
*
*/
public Output> radiusAccountingServersResponses() {
return this.radiusAccountingServersResponses;
}
/**
* RADIUS attribute used to look up group policies
*
*/
@Export(name="radiusAttributeForGroupPolicies", refs={String.class}, tree="[0]")
private Output radiusAttributeForGroupPolicies;
/**
* @return RADIUS attribute used to look up group policies
*
*/
public Output radiusAttributeForGroupPolicies() {
return this.radiusAttributeForGroupPolicies;
}
/**
* The template of the NAS identifier to be used for RADIUS authentication (ex. $NODE*MAC$:$VAP*NUM$).
*
*/
@Export(name="radiusAuthenticationNasId", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> radiusAuthenticationNasId;
/**
* @return The template of the NAS identifier to be used for RADIUS authentication (ex. $NODE*MAC$:$VAP*NUM$).
*
*/
public Output> radiusAuthenticationNasId() {
return Codegen.optional(this.radiusAuthenticationNasId);
}
/**
* The template of the called station identifier to be used for RADIUS (ex. $NODE*MAC$:$VAP*NUM$).
*
*/
@Export(name="radiusCalledStationId", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> radiusCalledStationId;
/**
* @return The template of the called station identifier to be used for RADIUS (ex. $NODE*MAC$:$VAP*NUM$).
*
*/
public Output> radiusCalledStationId() {
return Codegen.optional(this.radiusCalledStationId);
}
/**
* If true, Meraki devices will act as a RADIUS Dynamic Authorization Server and will respond to RADIUS Change-of-Authorization and Disconnect messages sent by the RADIUS server.
*
*/
@Export(name="radiusCoaEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> radiusCoaEnabled;
/**
* @return If true, Meraki devices will act as a RADIUS Dynamic Authorization Server and will respond to RADIUS Change-of-Authorization and Disconnect messages sent by the RADIUS server.
*
*/
public Output> radiusCoaEnabled() {
return Codegen.optional(this.radiusCoaEnabled);
}
/**
* Policy which determines how authentication requests should be handled in the event that all of the configured RADIUS servers are unreachable
*
*/
@Export(name="radiusFailoverPolicy", refs={String.class}, tree="[0]")
private Output radiusFailoverPolicy;
/**
* @return Policy which determines how authentication requests should be handled in the event that all of the configured RADIUS servers are unreachable
*
*/
public Output radiusFailoverPolicy() {
return this.radiusFailoverPolicy;
}
/**
* Whether or not higher priority RADIUS servers should be retried after 60 seconds.
*
*/
@Export(name="radiusFallbackEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> radiusFallbackEnabled;
/**
* @return Whether or not higher priority RADIUS servers should be retried after 60 seconds.
*
*/
public Output> radiusFallbackEnabled() {
return Codegen.optional(this.radiusFallbackEnabled);
}
/**
* Whether or not RADIUS Guest VLAN is enabled. This param is only valid if the authMode is 'open-with-radius' and addressing mode is not set to 'isolated' or 'nat' mode
*
*/
@Export(name="radiusGuestVlanEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> radiusGuestVlanEnabled;
/**
* @return Whether or not RADIUS Guest VLAN is enabled. This param is only valid if the authMode is 'open-with-radius' and addressing mode is not set to 'isolated' or 'nat' mode
*
*/
public Output> radiusGuestVlanEnabled() {
return Codegen.optional(this.radiusGuestVlanEnabled);
}
/**
* VLAN ID of the RADIUS Guest VLAN. This param is only valid if the authMode is 'open-with-radius' and addressing mode is not set to 'isolated' or 'nat' mode
*
*/
@Export(name="radiusGuestVlanId", refs={Integer.class}, tree="[0]")
private Output* @Nullable */ Integer> radiusGuestVlanId;
/**
* @return VLAN ID of the RADIUS Guest VLAN. This param is only valid if the authMode is 'open-with-radius' and addressing mode is not set to 'isolated' or 'nat' mode
*
*/
public Output> radiusGuestVlanId() {
return Codegen.optional(this.radiusGuestVlanId);
}
/**
* Policy which determines which RADIUS server will be contacted first in an authentication attempt, and the ordering of any necessary retry attempts
*
*/
@Export(name="radiusLoadBalancingPolicy", refs={String.class}, tree="[0]")
private Output radiusLoadBalancingPolicy;
/**
* @return Policy which determines which RADIUS server will be contacted first in an authentication attempt, and the ordering of any necessary retry attempts
*
*/
public Output radiusLoadBalancingPolicy() {
return this.radiusLoadBalancingPolicy;
}
/**
* If true, the RADIUS response can override VLAN tag. This is not valid when ipAssignmentMode is 'NAT mode'.
*
*/
@Export(name="radiusOverride", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> radiusOverride;
/**
* @return If true, the RADIUS response can override VLAN tag. This is not valid when ipAssignmentMode is 'NAT mode'.
*
*/
public Output> radiusOverride() {
return Codegen.optional(this.radiusOverride);
}
/**
* If true, Meraki devices will proxy RADIUS messages through the Meraki cloud to the configured RADIUS auth and accounting servers.
*
*/
@Export(name="radiusProxyEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> radiusProxyEnabled;
/**
* @return If true, Meraki devices will proxy RADIUS messages through the Meraki cloud to the configured RADIUS auth and accounting servers.
*
*/
public Output> radiusProxyEnabled() {
return Codegen.optional(this.radiusProxyEnabled);
}
/**
* The maximum number of transmit attempts after which a RADIUS server is failed over (must be between 1-5).
*
*/
@Export(name="radiusServerAttemptsLimit", refs={Integer.class}, tree="[0]")
private Output* @Nullable */ Integer> radiusServerAttemptsLimit;
/**
* @return The maximum number of transmit attempts after which a RADIUS server is failed over (must be between 1-5).
*
*/
public Output> radiusServerAttemptsLimit() {
return Codegen.optional(this.radiusServerAttemptsLimit);
}
/**
* The amount of time for which a RADIUS client waits for a reply from the RADIUS server (must be between 1-10 seconds).
*
*/
@Export(name="radiusServerTimeout", refs={Integer.class}, tree="[0]")
private Output* @Nullable */ Integer> radiusServerTimeout;
/**
* @return The amount of time for which a RADIUS client waits for a reply from the RADIUS server (must be between 1-10 seconds).
*
*/
public Output> radiusServerTimeout() {
return Codegen.optional(this.radiusServerTimeout);
}
/**
* The RADIUS 802.1X servers to be used for authentication. This param is only valid if the authMode is 'open-with-radius', '8021x-radius' or 'ipsk-with-radius'
*
*/
@Export(name="radiusServers", refs={List.class,WirelessSsidsRadiusServer.class}, tree="[0,1]")
private Output* @Nullable */ List> radiusServers;
/**
* @return The RADIUS 802.1X servers to be used for authentication. This param is only valid if the authMode is 'open-with-radius', '8021x-radius' or 'ipsk-with-radius'
*
*/
public Output>> radiusServers() {
return Codegen.optional(this.radiusServers);
}
/**
* The RADIUS 802.1X servers to be used for authentication. This param is only valid if the authMode is 'open-with-radius', '8021x-radius' or 'ipsk-with-radius'
*
*/
@Export(name="radiusServersResponses", refs={List.class,WirelessSsidsRadiusServersResponse.class}, tree="[0,1]")
private Output> radiusServersResponses;
/**
* @return The RADIUS 802.1X servers to be used for authentication. This param is only valid if the authMode is 'open-with-radius', '8021x-radius' or 'ipsk-with-radius'
*
*/
public Output> radiusServersResponses() {
return this.radiusServersResponses;
}
/**
* If true, Meraki devices will periodically send Access-Request messages to configured RADIUS servers using identity 'meraki*8021x*test' to ensure that the RADIUS servers are reachable.
*
*/
@Export(name="radiusTestingEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> radiusTestingEnabled;
/**
* @return If true, Meraki devices will periodically send Access-Request messages to configured RADIUS servers using identity 'meraki*8021x*test' to ensure that the RADIUS servers are reachable.
*
*/
public Output> radiusTestingEnabled() {
return Codegen.optional(this.radiusTestingEnabled);
}
/**
* The secondary concentrator to use when the ipAssignmentMode is 'VPN'. If configured, the APs will switch to using this concentrator if the primary concentrator is unreachable. This param is optional. ('disabled' represents no secondary concentrator.)
*
*/
@Export(name="secondaryConcentratorNetworkId", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> secondaryConcentratorNetworkId;
/**
* @return The secondary concentrator to use when the ipAssignmentMode is 'VPN'. If configured, the APs will switch to using this concentrator if the primary concentrator is unreachable. This param is optional. ('disabled' represents no secondary concentrator.)
*
*/
public Output> secondaryConcentratorNetworkId() {
return Codegen.optional(this.secondaryConcentratorNetworkId);
}
/**
* The SpeedBurst setting for this SSID'
*
*/
@Export(name="speedBurst", refs={WirelessSsidsSpeedBurst.class}, tree="[0]")
private Output* @Nullable */ WirelessSsidsSpeedBurst> speedBurst;
/**
* @return The SpeedBurst setting for this SSID'
*
*/
public Output> speedBurst() {
return Codegen.optional(this.speedBurst);
}
/**
* Array of valid sponsor email domains for sponsored guest splash type.
*
*/
@Export(name="splashGuestSponsorDomains", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> splashGuestSponsorDomains;
/**
* @return Array of valid sponsor email domains for sponsored guest splash type.
*
*/
public Output>> splashGuestSponsorDomains() {
return Codegen.optional(this.splashGuestSponsorDomains);
}
/**
* The type of splash page for the SSID
*
*/
@Export(name="splashPage", refs={String.class}, tree="[0]")
private Output splashPage;
/**
* @return The type of splash page for the SSID
*
*/
public Output splashPage() {
return this.splashPage;
}
/**
* Splash page timeout
*
*/
@Export(name="splashTimeout", refs={String.class}, tree="[0]")
private Output splashTimeout;
/**
* @return Splash page timeout
*
*/
public Output splashTimeout() {
return this.splashTimeout;
}
/**
* SSID Administrator access status
*
*/
@Export(name="ssidAdminAccessible", refs={Boolean.class}, tree="[0]")
private Output ssidAdminAccessible;
/**
* @return SSID Administrator access status
*
*/
public Output ssidAdminAccessible() {
return this.ssidAdminAccessible;
}
/**
* Whether or not traffic should be directed to use specific VLANs. This param is only valid if the ipAssignmentMode is 'Bridge mode' or 'Layer 3 roaming'
*
*/
@Export(name="useVlanTagging", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> useVlanTagging;
/**
* @return Whether or not traffic should be directed to use specific VLANs. This param is only valid if the ipAssignmentMode is 'Bridge mode' or 'Layer 3 roaming'
*
*/
public Output> useVlanTagging() {
return Codegen.optional(this.useVlanTagging);
}
/**
* Whether the SSID is advertised or hidden by the AP
*
*/
@Export(name="visible", refs={Boolean.class}, tree="[0]")
private Output visible;
/**
* @return Whether the SSID is advertised or hidden by the AP
*
*/
public Output visible() {
return this.visible;
}
/**
* The VLAN ID used for VLAN tagging. This param is only valid when the ipAssignmentMode is 'Layer 3 roaming with a concentrator' or 'VPN'
*
*/
@Export(name="vlanId", refs={Integer.class}, tree="[0]")
private Output* @Nullable */ Integer> vlanId;
/**
* @return The VLAN ID used for VLAN tagging. This param is only valid when the ipAssignmentMode is 'Layer 3 roaming with a concentrator' or 'VPN'
*
*/
public Output> vlanId() {
return Codegen.optional(this.vlanId);
}
/**
* Allow users to access a configurable list of IP ranges prior to sign-on
*
*/
@Export(name="walledGardenEnabled", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> walledGardenEnabled;
/**
* @return Allow users to access a configurable list of IP ranges prior to sign-on
*
*/
public Output> walledGardenEnabled() {
return Codegen.optional(this.walledGardenEnabled);
}
/**
* Domain names and IP address ranges available in Walled Garden mode
*
*/
@Export(name="walledGardenRanges", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> walledGardenRanges;
/**
* @return Domain names and IP address ranges available in Walled Garden mode
*
*/
public Output>> walledGardenRanges() {
return Codegen.optional(this.walledGardenRanges);
}
/**
* The types of WPA encryption
*
*/
@Export(name="wpaEncryptionMode", refs={String.class}, tree="[0]")
private Output wpaEncryptionMode;
/**
* @return The types of WPA encryption
*
*/
public Output wpaEncryptionMode() {
return this.wpaEncryptionMode;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public WirelessSsids(java.lang.String name) {
this(name, WirelessSsidsArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public WirelessSsids(java.lang.String name, WirelessSsidsArgs 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 WirelessSsids(java.lang.String name, WirelessSsidsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("meraki:networks/wirelessSsids:WirelessSsids", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private WirelessSsids(java.lang.String name, Output id, @Nullable WirelessSsidsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("meraki:networks/wirelessSsids:WirelessSsids", name, state, makeResourceOptions(options, id), false);
}
private static WirelessSsidsArgs makeArgs(WirelessSsidsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? WirelessSsidsArgs.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 WirelessSsids get(java.lang.String name, Output id, @Nullable WirelessSsidsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new WirelessSsids(name, id, state, options);
}
}